java独学のワイ、素数判定プログラムが書けない
■ このスレッドは過去ログ倉庫に格納されています
JavaDriveというサイトでFor文まで理解するも書けない模様 ワイにプログラマーの資格はないんか? 資格はともかく才能も適正もない。 資格はともかくというのは全く無能のくせに丸暗記でJava Bronzeを取った人がいる前例があるから、 資格だけなら取れるかもしれない。 正直for文くらい直感でわからないようではプログラマーの適正は皆無。 頭で理解しただけで書けるわけないだろ 学校のテストじゃねえんだよ 片っ端から割れるか試すだけっしょ for文で余裕じゃん 小さい数字ならいいけどハチャメチャデカイ数字だとめっちゃ時間かかりそう >>3 じゃあほとんどの奴がプログラマーになれないな >>5 どんな風に? どんな風にも何も・・・ for(i=2;i<入力値;i++){ if((入力値 % i == 0 ){print("素数じゃない");exit(0);} } print("素数だよ"); こんだけじゃないの?0,1は素数じゃないよってif文がもう一個あれば。 これくらいは3分で直感でやらんと・・・これが合ってるかしらんけどw 求人で「未経験からプロのエンジニア」とあるけど、 ワイにもできるか心配だわ javaだとSystem.exit()。俺はjavaを知らんけど、その辺もググってさっと変換できるセンスはプログラマには必要だと思うぞw >>11 ほーなんやな〜 int n = 100; for(int i = 2; i<n; i++){ for(int a = 2; a<i; a++){ if(i%a == 0){ System.out.println(i + "は素数でない"); }else if{ System.out.println(i + "は素数"); ここまで来てるんやけど、 iに対してaがi>aを満たすまで全部の数表示されるから困ってる。 >>13 ネスト多分必要ないぞ?>>8 見てや。こんだけでいい(多分)。えらいややこしいことになってない?w 俺が即興で思いつたのじゃ動かんけ? めんどかったけどpaizaで試したら動くやんけw まさかとは思うが>>8 をそのままコピペして動かんと言ってる訳じゃなかろうな? いいか?>>8 は別にjavaで動かすように書かれてる訳じゃないからな?単に「流れ」だからw >>8 をjavaで動くように色々変えて、最後に入力値が2未満なら素数じゃないと表示させる条件を加えなさい。 それすら無理なら確実にプログラマは無理だw >>13 nまでの素数を表示するためにi回インクリを繰り返すんやが、 二回目のFor文は iに対してiまでの自然数で検算しようと思ったんや。 a回繰り返してな。 その結果、iがaまでの自然数全てで割られるんやが、 一つのiに対してa個全て割る過程が表示されてしまうんや。 そこが問題 検算の過程が表示されてしまうからそれを省略したい。 iまでのaで全て検算した結果、「そのiは素数」と表示したいんや。 そらfor文の中にprint書いてりゃ表示されるわな 書かなければええんちゃうん?w どうも俺に彼の問題を解決するのは無理のようだ・・・ こう見えても明治卒やで 一応IT系に内定を貰ってるから軽く勉強のつもりが池沼やったんなや〜 びっくりや ってことでコピペグラ―になるわ! ほなっ! 結局のところ、何かの真似をしているだけで自分で何やってるかすら 理解してないんだろ? プログラマー目指すなんて言っておきながら、その程度の労力すら 惜しんでスレ立てて人に聞いてるとか、嗤わせるにもほどがある >>29 全部自分で考えてるし、真似はしてない FizzBuzzは簡単やったのにどうしてかな〜 明治卒うせやんwww I地頭はあるんだろうから必死で勉強しぃやw 今のレベルじゃすぐに営業に配置転換ぞw public class Main { public static void main(String[] args) { int n = 100; for (int i = 2; i < n; i++) { boolean ok = true; for (int j = 2; j < i; j++) { if (i % j == 0) { ok = false; } } if (ok) { System.out.println(i + "は素数"); } else { System.out.println(i + "は素数ではない"); } } } } 学部ならともかく学校とプログラマーの適正に因果関係があると思っているなら 正真正銘の知障なので診察受けたほうがいい。 この板の有名荒らしの36歳みたいになるぞ。 36歳も大卒大卒アピールするだけで何にもできない人間のクズだった。 >>35 すまんな、ただ教えてほしかっただけなんや プログラム楽しいからさ 関西の豪雨で水に流されるのはワイの方が良かったんやな〜 もしかして落ち込むふりして同情でも買おうとしているつもりなの? それで来年から社会人? 来年新中学生の間違いじゃないの? 発達障害は精神が幼いって意味じゃない 生半可な知識でマウントに使うなよ >>5 public static void main(String[] args) { for (int i = 0; i < 100; i++) { if (isPrime(i)) { System.out.println(i); } } } static boolean isPrime(int n) { if (n < 2) { return false; } for (int i = 2; i < n; i++) { if (n % i == 0) { return false; } } return true; } 失礼します。 私も触発されて、FizzBuzzのコードをコメント付きで書いてみました。 https://ideone.com/McsJKW よろしければ、スレ主さんのFizzBuzzのコードもアップして貰えませんか? >>1 この>>42 はJava一年半やってる36歳無職 こんな風になっちゃだめ >>42 for(int a = 1; a<101; a++){ if(a%3 == 0){ System.put.println("Fizz"); }else if(a%5 == 0){ System.put.println("Buzz"); }else if(a%3 == 0 && a%5 == 0){ System.put.println("FizzBuzz"); }else{ System.put.println(a); } } どうかな? >>42 java初めて数か月も経ってないけど、 ワイは論理を変換する能力がないから詰んでるのかなぁ >>42 7で割り切れるときはHamuと出力してください >>44 ありがとうございます。 >>43 が言うように、俺はそれほどプログラムに習熟していませんが、 僭越ながら指摘させて頂きます。 あなたのコードだと、始めに3の倍数を全て抽出してしまうので、 3の倍数でかつ5の倍数(15など)が全てFizzBuzzではなくFizzとして 出力されてしまいます。これは5の倍数についても同じことが言えます。 そこでまず3の倍数かつ5の倍数を切り出し、それから3の倍数や5の倍数を 表示するとよいと思います。 >>47 調べりゃすぐ出てくることをよくそんな偉そうと無駄に長く言えるなw >>45 多分、練習によるものが大きいと思います。 俺の場合、当初は(C言語ですが)ポインタや構造体でつまずいていましたが、 今ではオブジェクト指向も理解できるようになりました。 学習方法や学習時間で伸び方は変わってくると思います。 >>50 オブジェクト指向はどういうものか簡潔に説明してみて >>50 オブジェクト指向で作ったプログラムを見せてみて >>47 else if なら順不同でしょ? elseのみならともかく 100までの「i」がif文によって上の条件式を満たす形で置き換わっていく。 という風に捉えてるけど。 cmdで走らせてみたけど最初に3の倍数全ては表示されないよ。 for(int a = 1;a<101;a++){ if(a%3 == 0){ System.out.println("Fizz"); }else if(a%5 == 0){ System.out.println("Buzz"); }else if(a%5 == 0 && a%3 == 0){ System.out.println("FizzBuzz"); }else if(a%7 == 0){ System.out.println("Hamu"); }else{ System.out.println(i); ※Hamu付き あー そうやったんや〜 確かにFizzBuzz出てこんわ >>47 なったで for(int a = 1;a<101;a++){ if(a%5 == 0 && a%3 == 0){ System.out.println("FizzBuzz"); }else if(a%5 == 0){ System.out.println("Buzz"); }else if(a%3 == 0){ System.out.println("Fizz"); }else if(a%7 == 0){ System.out.println("Hamu"); }else{ System.out.println(a); >>57 if、else ifはどれか一つでもtrueになるとそのブロック内しか通らない だから優先的に判定したい条件は先に書かないといけない ちなみに>>57 のコードだと5や3の倍数かつ7の倍数が考慮漏れしてるね >>58 自分で書いたもの以外のコピペはしてないで 条件式が一つで後にほぼ同じ抽出内容の複数条件式を持つ分岐が控えている場合 先に複数の方を書かんと、先にある一つの条件式を先に満たしてしまって そこで抜けてまうのか >>47 感謝やで >>59 考えたんやけど 条件式が優先されるから仕方ないんちゃう? >>61 バグってこういう些細なことで生まれるからね 自分の書いたコードが要求や仕様を満たしてるか見直してみるといいと思うよ >>64 直してみたで! for (int a = 1;a<101;a++){ if(a%3 == 0 && a%5 == 0 && a%7 == 0){ System.out.println("横山やすし"); }else if(a%3 == 0 && a%5 == 0){ System.out.println("FizzBuzz"); }else if(a%3 == 0 && a%7 == 0){ System.out.println("おっぱい"); }else if(a%5 == 0 && a%7 == 0){ System.out.println("焦げたおっぱい"); }else if(a%5 == 0){ System.out.println("Buzz"); }else if(a%3 == 0){ System.out.println("Fizz"); }else if(a%7 == 0){ System.out.println("Hamu"); }else{ System.out.println(a); 組み合わせでいいんじゃね?と思いついたから 手当たり次第に作ってみた >>62 5と3で出来ていることを7も追加してやるだけ しかしこれではひとつ条件が増えると大量の書き直しが発生してしまうことに気づいたら次は拡張性を考える >>65 上の条件式の方を通り抜けてしまうなら、 条件同士をくっつけちまえばいいんやない? 3,5,7の倍数は一つの条件式で表示できるし、 複数の共通倍数だったら、包括してしまえばいいんだし def a(x): if x%2==0: print('偶然') elif x%3==0: print('奇数') for i in range(1.11): a(i) >>69 >>70 for i in range(1.11): a(i) これはなんや?? >>1 ない。 迷惑だからプログラマにならないで欲しい。 >>73 実際For文まで勉強して解ける人は何人くらいおるんやろなぁ 見える、未来が見える >>1 が高学歴であるがゆえに根拠なく自分の能力を信じて 電卓ソフトを作ったあたりで満足してSEやPMにシフトし むちゃくちゃな設計を末端に押し付けて責任転嫁する未来が… >>75 哭きの竜のネタ? こんなのがSEになる時点で終わりやん・・・ たびたび失礼します。 スレ主さんに、助言が伝わったみたいで良かったです。 素数判定の方は、for文の知識に加え、break文・continue文・フラグの内 いくつかの知識が必要になると思うので、もし未習ならググることをお勧めします。 出しゃばりみたいで恐縮ですが、俺も素数判定のコードをコメント付きで 書いてみましたので、よろしければ参照下さい。 https://ideone.com/ITtLsp >>79 お前それじゃ遅いからって高速化の方法教えてもらってただろうが 何にも身についてないのかよ >>77 何を言っているんだ? PG上がりのSEが世の中を支え、SE業を邁進してきたゴミクズが会社で弄ぶ 日本のSIerの多重下請け構造そのものじゃないかw スレ主に適性はないので、半端な知識を身に付けないで 管理系のスキルを磨くことをお勧めする 「現場を知るため」以上の目的でプログラミングにのめりこまないほうがいい プログラミングができない無能は管理に回され昇進する、これが日本の常識 出世したいなら人を使う能力を磨くことだ プログラマーなんてどの会社でも40くらいでおしまいだよ 下手すりゃ管理職候補にすらなれずリストラ対象 スレ主だけど、if文とFor文しかやってない これだけの知識で任意の数まで素数を判定していく事ができるか否かで 適正って決まるもんなんか? >>82 決まらないよ 知ってるかどうかだからね 0から考えて実装してる人なんてそうはいない >>82 就活でプログラマの適性検査受けなかった? とても簡単な問題で適性がA〜Eで判定されるよ。 プログラマの適性に知っている言語の知識なんて関係ないよ。 >>83 え?みんな0から考えてるんじゃないの? PGは0からコードを書いて、機能を作るもんだと思ってた >>84 就活してない ただネットのプログラマー適正試験を受けた事はある。 CAB?だけは出来なかった >>82 Javaの適性ならともかく、プログラミングの職業適性となると 問題解決の筋道そのものが適性の評価対象だから、 こんなところで質問しちゃう時点で適性ゼロじゃないかなw >>79 素数の出力はもっと簡単で効率の良いやり方があるよ boolean[] p = new boolean[100]; for (int i = 2; i < p.length; i++) { if (p[i]) continue; for (int j = 2; i * j < p.length; j++) p[i * j] = true; System.out.println(i); } >>86 >ただネットのプログラマー適正試験を受けた事はある。 結果はどうだったの? 素数判定で2の倍数を真面目に判定しているロジックは それだけで評価に値しない。 FizzBuzzをまともに答えているのと同じ。 >>89 それコピペグラ―やん でも効率は良いよね >>90 どんなサイトのテストを受けたのかにもよるけども、 http://www.beafoster-hd.co.jp/aptitude-test ←ここは簡単で満点 他は受けてないからこれからって結果張ろうかな >>92 コピペするわけじゃなくて調べるっしょ ゼロから全部自分で考えるのは効率悪いよ >>87 今からその姿勢を直せばいいんでないの? >>91 if文とFor文の知識だけだと真面目にやるしかない気がする ifは小文字なのにforのFだけ大文字なの何なの? 超気持ち悪いんだけど自分で気持ち悪いとは思わないの? >>94 20過ぎた人間が簡単に矯正出来たら苦労ないわ。 だから適性で弾くんだよ。 この先矯正できるかどうかなんて関係ない。 矯正して金にならない適性ないPGやる暇あるなら 営業でも管理でも適性がありそうなのを覚えろ、って いうのが企業。 >>98 そうでもないかと ちゃんと教育する会社がまともな会社ですよん 適性が身に付くならいいけど、半端に適性がある振りが通ってしまって 本当は適性がないのに新人研修で評価されてしまってPGに就いたら、 それこそ悲惨な人生なんだが、その辺わかってるのかな。 今までやってきてなかったってことは別にPGが好きなわけでもないんだろ? 好きでPGになった奴でさえ追い込まれて自殺する世界に、適性がない、 もしくはありたいと願う奴が入ったらどうなるか。 それを心配してるんだよ。 >>99 会社は学校じゃないんで、入社する前に必要な教育は受けてきてください。 入社してやるのは業務知識の教育です。 教育するったって基本の基本を3ヶ月ぐらいやって現場に放り投げるだけだろ? 後は自主努力ではいさよならだよ。会社はマージンが取れればそれで良いんだから >>99 新人教育とか新人研修って、教育というより選別に分類されるイベントですよん >>100 確かに半端で行くと悲惨な人生が待ってるというのは理解してる。 今まで問題解決とか面倒くさくて投げてたけど、 プログラムを勉強してから考えるのが楽しく思えてきたんだよな。 PCで動いた時に爽快感を感じられるんだ。 でもPGになったら周りの速度にある程度付いていかなきゃならないもんね。 そこが少し思い悩んでる。趣味の範囲なら別に考えないけど 入り口に立ってそれが楽しい、結構なことだ だが、それで飯が食えるほど甘くはない >>106 ま、入社するまでの間に趣味でやってみなよ。 確かな自信になっているかもしれないし、来年の4月までには内定辞退する 覚悟が決まるかもしれないし。 俺は新人研修の外注でそういう新入社員の自信をまる潰しするのが本業だから。 全ての自信を打ち砕かれて真っ白になってから絵を描くように教育していく。 世の中はこういうやり方のほうが主流だと思うよ。 プログラムが書ける時間なんてわずかだけどな テストするのとドキュメント書くのと客との打ち合わせが仕事だから >>107 食っていくハードルは職業で難易度が変わるけど、PGは専門性が高いし 頭もかなり使うから非常厳しい世界だとは思ってる。 足を踏み入れても食っていけるか。それも考えると「適正」に答えを求めてしまうんだよな >>102 業務知識としてプログラミングも教えるよ それが仕事だからね 必要なら外部のプログラミングの研修も受けることできるよ ふつうそれくらいやるっしょ >>106 サッカーボールが少しうまくけれるようになりました。 プロのサッカー選手になりたいです。 って言ってるのと同じだね。 >>109 こいつも>>1 とは違うベクトルでやばいわ >>116 >>109 はイキった無職だったりしてw >>115 うん 頭の世界だから努力をしても解決しない現実が待ってると思う 入社前に自分でコード書いて勉強してる時点で本当の初歩の適性はあるでしょ 下を見ればきりがないけどIT企業に入るのにプログラミングが苦痛でしかないのもいる 入社前に習えないメインフレームの言語はどうするんだ? ◆BrBq2CJg6HGdという人が プログラムについて色々解説していると聞いて飛んできました。 私もプログラムに興味があるので ここは一つ◆BrBq2CJg6HGd氏に 添削してもらえれば幸です。 こんな感じにFizzBuzzを書いてみました (Javaで) https://ideone.com/31StrD 一応動いてはいるみたいですが・・・ 記述の仕方とか如何でしょうか? ここは俺のスレじゃないんで、あまり入り込みたくないんだが…一言だけ >>123 やりやがったな。 >>125 123と124を書いた者ですが・・・ 何か問題ありましたか? >>126 問題は36歳無職で余裕が無いのに他人を構っている事 >>126 36歳は承認欲求が強くてすべての行動は自身が褒めてもらいたいために やっていることなので、36歳よりマシなコードを書くと嫉妬され恨まれる。 36歳慣れしていないならこいつには構わないのが吉。 素人が関わっても呪われこそすれよろこばれることはない。 >>128 嫉妬や恨みなどしない それは積み上げてきたものだろ 問題は>>123 が実力差を分かった上で、どや顔で俺に挑戦してきたこと >>126 強いて言えばコードが無駄に複雑なことか (ここでは)メソッドやインスタンス化なぞ使う必要ないだろ 例えば2次関数の最大最小を求めるのに微積は普通使わないだろ >>129 無駄に複雑でも何でもねえよ お前が理解できないだけだろw >>129 他人のスレで無能の分際ででしゃばった挙げ句、 他人の行動をお前の思い通りにならないと言う理由で 勝手に問題視すんなよ人間のクズが >>129 これくらいのメソッド分けは息をするように自然と出来るんだよ そんなところにつっかかるのはお前がお前のレベルでしか考えられてないから どや顔されてイラッときた36歳w このスレおもしれー ◆BrBq2CJg6HGd は36歳の無職のB型作業所通い 34歳の頃からプログラマを目指してJavaを勉強しているが一向に身につかず 作業所で2時間軽い箱を運ぶのが精一杯で5時間の基本情報処理技術者試験は体力が続かないので受けられないという これまで散々プログラマの適性は無く単純作業を進められているが誰でも出来る仕事はやりたくないらしい センター試験で460/800点を叩き出した成功体験が心の支えなんだとか >>42 と>>124 だったら、>>124 の方が良いコードなんだよなぁ この良し悪しは、仕事でプログラミングしてない人には分からんだろうけどね へー 初めて知ったが、まあ人生を無駄に消費して死んでいく類の人間だなとしか 自分の立てたスレに勢いあるし、他人に何かの反応をさせる才能はあるようだから、 多分プログラマーよりYoutuberとかゲーム実況者とかの方が向いてんぞ >>139 しごとしてるけど真逆の評価だな 124は責務の分散もできてないし 関数の命名もひどいし ロジックもナンセンス 体裁だけがんばってるがいいところがない ひとりよがりなくそコード書く上に他人を嘲笑するのがしょっぱなときた 職場にいたら害悪そのものだな >>135 >34歳、発達障害の無職ですが (1〜7) >Re: 35歳、発達障害の無職ですが...(1〜6、6は5の重複を再利用) >Re:New: 35歳、働きたく無い無職ですが... 1のみ >35歳、発達障害の作業所通いですが (1〜11) >35歳、発達障害(統失疑い)のB型作業所通いですが 12 >35歳、統合失調症のB型作業所通いですが 13 >35歳、発達障害と統合失調症のB型作業所通い13 >35歳、統合失調症のB型作業所通い14 >35歳、統合失調症扱いのB型作業所通い(15〜18) >35歳、知的障害者のアスペ[2時間のB型作業所通い] >36歳、発達障害のB型作業所通い19 これだけスレが続いているから有名の中に加えてもいいかと >>144 2年も続いてるのもすごいけどそれ>>144 が自分でまとめたの?完全に熱心なファンだわ これは他人のおもちゃになって消費される才能だよ うまくやれば金には出来る…が、恐らくやらないだろうからただただ老いていく。南無三 >>145 最後のヤツは追加したけど まとめは前スレに貼ってあったから 知って何がどうなるワケでもないけど セーフティネットを悪用して 使えないガイジがITの職場に入ろうとしているのを スレ民が防ぎたいというだけ う〜む まぁ確かに>>141 も一理ある。 数字を出すかFizzBuzzの文字を出すかの判断を あんなところでやってええんか?? 何か余計にインスタンスを作ってないか? 等等 ここの住人にFizzBuzzをもっともっと書いてもらいたいものだ。 「プログラマー」板やしね。 そういえば 昔昔、1行プログラムコンテストというのがあったらしい >>150 Javaでは無いけど参考にどうぞ。 36歳もスレ主も工夫しなさ過ぎなんだよね。 バッチ for /L %%a in (1,1,100) do ( set /A FB = 1 + ^(%%a %% 3 + 2^) / 3 * 2 + ^(%%a %% 5 + 4^) / 5 cmd /c;for /F "tokens=%%FB%%" %%b in ^("FizzBuzz Fizz Buzz %%a"^) do @echo,%%b ) シェル seq 100|sed 's/.*5$/Buzz/;3~3s/[0-9]*/Fizz/' つか>>124 よく見たら再帰までやってんのなw ネタだった… これはどうだろ? awkにて seq 100 | awk '{w = ""} $1 % 3 == 0{w = "Fizz"} $1 % 5 == 0{w = w"Buzz"} w == ""{w = $1} {print w}' 入った会社が社長が中国人で研修室に十何人か居るけど俺以外全員中国人で当然授業も中国語 だから俺だけ受けずに独学してる 一応初歩の為の学習ファイルはあるけど殆ど自力で調べる羽目に 2日かけてJavaでtxt読み込んでxlsxにするのがまだうまく行かない 無の境地で仕事するか意識高い系になって震え立たせるかの二択だろこの業界 >>156 営業やHUB要員だから、誰かに書かせることができる程度に 何ができて何ができないかを理解すればいいよ。 キミに必要なのは中国語の勉強だな。 >>160 それだとダメだった場合のコストも大変だから事前にテストで弾きたいわな >>156 そんなん面接に行く前にわかるだろアホなのか? 36歳のように興味だけだと上手になれないって事だな プログラム書く時間より5chやってる時間のが長いからムリポ >>156 あ、ワシその会社の名前知ってるカモ? 名前が8あつまると1バイトになるやつに強いやつですかね??? いくら強くしても所詮派遣、0か1でしかない、8人そろえてようやくバイト 悲哀を感じるいい社名だな nipponがnip on ナポレオンが馬鹿にされたのと同じ超侮蔑的名前 かれらが建国時に干渉してこうなった あんまりにあんまりなので連中にすらJapanよばれてる エンジニアに聞きたいんだけど、エンジニアに重要なスキルって何? みずほ銀行のシステム開発に参加したかった? >>172 最悪の時に打てる手段を持っていて実際に打てる事 >>172 発想力、技術力、コミュニケーションスキルじゃない? ドカタはエンジニアじゃないからまた別のスキルが必要かな >>175 土方には勤怠力、社畜力、単純作業力が必要 ころころ変わる仕様に右往左往する新人ほったらかしにしてたら 結構なスパゲッティができてた 数百行のメソッドに過ぎないがなかなか へたに教えようとしたり領分に手出しすると怒るタイプ こっちも助ける余裕はあんまりないし だからって助言として変なこというと余計混乱させそう …ほっといていいかなあ 素数とかFizzBuzzとか懐かしい 今の知識ならどう書くかなって思ったけど、歳重ねても知識やスキル重ねてない事に気づいたw >>3 Bronzeと言えども知識問題だけでなく考える問題も出る。(この方がメイン) 暗記が通用する試験じゃない。分かったか。 >>10 強制終了。あまり使わない方がいい。 >>21 どう書けば、どう出力される、という頭の中でのイメージが 上手く出来てないように思える。 想像力を働かせましょう。 >>25 お前には優しさが無いのか。 >>34 何にも出来ないことはないだろ。適当に言うなボケ >>43 大きなお世話だボケ >>49 調べて分からないから聞いているんだろう? お前ヒントも出さずに文句だけ言うんじゃねえ >>185 お前こそちゃんと答えてやれよ bronze取ったなら答えられるハズ >>185 > 想像力を働かせましょう。 その勝手な思い込みでお前はとんでもない方向に進んじゃうんだよ というかその想像も何の具体性もない無意味なものだし Stream<Integer> primes() { Map<Integer, Integer> furui = new HashMap<>(); Stream<Integer> ni = Stream.of(2); Stream<Integer> sunOrMore = Stream.iterate(3, i->i+2).filter(i -> { Integer step = furui.get(i); boolean isPrime = (step == null); if (isPrime) step = i*2; int nextNonPrime = i + step; while (furui.containsKey(nextNonPrime)) nextNonPrime += step; furui.put(nextNonPrime, step); return isPrime; }); return Stream.concat(ni, sunOrMore); } シーケンス使って素数書いてみよう! と思ったけど、TakeWhile的な事が出来なくて泣いた Stream難しい ストリームの中で副作用のある処理は推奨されないっすよ ループ推奨 >>192 OK、書き直してみた boolean isPrime(int target) { return !primes(target, target).isEmpty(); } List<Integer> primes(int betweenFrom, int betweenTo) { Map<Integer, Integer> furui = new HashMap<>(); List<Integer> result = new ArrayList<>(); int i = 2; if (i >= betweenFrom && i <= betweenTo) result.add(2); for (i=3; i <=betweenTo; i+=2) { Integer step = furui.get(i); if (step == null) { if (i >= betweenFrom) result.add(i); step = i*2; } int nextNonPrime = i; do nextNonPrime += step; while (furui.containsKey(nextNonPrime)); furui.put(nextNonPrime, step); } return result; } >>1 それがカンペなしで初見でフルスクラッチで書けたら中級以上だ 釣りだろうけど >>199 中級…というか、素数計算じゃ初心者を卒業して初級ってところだと思うが… うわあああああ もうすぐ有償になるJavaだあああああああ >>205 いいや イッチは将来的に暗号解析プログラムを完成させて金持ち共を丸裸にするよ javaとかPCに勝手に入ってくるウィルスのようなもんだよな pythonに全部食われちまえ >>プログラマーの適性って後から身に付くもんなの? 出来る奴は、初めからできる。とは、よく言われるよ。 論理思考が苦手な奴もいるだろうが、親の遺伝だから仕方がないね。 ほら、小学生の時点で優劣はすでについているだろう。 >>205 Oracleが完全商用化したら、OpenJDKなんてコードの隅々まで知財で因縁つけられて 公開停止→コードの書き直しで5年→再公開のころにはJava出番なし になるに決まっておろう。 当然その間古いOpenJDKを使ってしのごうとしてもOracleにばれたら OpenJDKもわが社の知財故にライセンス料払え攻撃に遭うわけで。 >>211 それはぶっちゃけどの程度起こり得るものなのかね? ぶっちゃけてよ C#なら1文でかけるこの便利さ var isSosu = !Enumerable.Range(2, num - 2).Any(n => num % n == 0); Cで教科書通りに書いてみました 何かありましたらご指摘お願いします #include <stdio.h> #include <math.h> int main(void) { __int i; __int j; __int max = 10000; __int gaussSqrtN = (int)sqrt(max); __int flg; __for( i = 2; i < max; i++) { ____flg = 0; ____for(j = 2; j < (i < gaussSqrtN ? i : gaussSqrtN); j++) { ______if (i % j == 0) { ________flg++; ______} ____} ____if (flg == 0) { ______printf("%d ", i); ____} __} __return 0; } 素数判定は30分かからずに独学で書けたな ただ俺の場合はクイックソートさせるプログラムを書くのに3日ほど要した。 俺って地頭悪いのか…? >>216 それは、プログラムが書けない人たちの書けないっぷりを理解できてない 子供の頃、素数生成プログラム書いてはみた事あるんだが、 何故か4が出てきた謎 ○○を作りましたといって△△を作っている よくある話し 素数なんか、テーブルに書き出しとけばいんだよ。 そいつからバイナリーソートの要領で探す。 >>219 その実例を紹介します。 0395 ◆BrBq2CJg6HGd 2017/05/23 20:46:35 >>至極さん トランプの作り方が分からなかったので、カレンダー表示機能を作ってみました。 https://ideone.com/Osdsox 時間の表示がちょっとおかしいですが。 素数判定なぁ 素朴なものなら高校時代に我流で作ったが >>220 あーた、組み込みでも同じ事が言えるのか? 私たち日本人の、日本国憲法を改正しましょう。 総ム省の、『憲法改正國民投票法』、でググって みてください。拡散も含め、お願い致します。 ナイーブな素数判定書けないってアルゴリズム力なさすぎでしょ... アルゴリズムって授業とか本で勉強して身に付けるものだと思うけど。 何かに対する最適なアルゴリズムは学術で研究されて 成果が公表されるものなので、勉強して身に付ける、 ということもあり得るが、一般的にアルゴリズムは 自分で考え構築するものです。 >>231 そいつはパターンマッチしかできない知能障害者なので相手にしないでください。 一応発達障害に分類されるようですが、このように知能に異常があるように見えます。 向いてないからさっさとコンビニ店員にでもなったほうがいいぞ >>234 ぶっちゃけ、コンビニ店員の仕事の方が プログラマーの仕事より高度だけどな。 >>235 おいおい。Web系はプログラマじゃないんだ。 あれはママゴト。 だからコンビニより簡単。 Webしか知らない奴は困る。 今の世界ではWeb以外がおままごとだよ 何してるか知らないけど君は負けてる そんなん言ったら食い物さえあれば生活には困らんわ それがお望みなら紀元前に帰れ それはお前だよ 俺などはお前の言動をそのまま鏡写しにしているに過ぎないのだ 自分の姿が良く見えるだろ? 接客は多くのプログラマにとって高度かも、コミュ障多いしw あと深夜のワンオペ状態だと強盗やガラの悪い客、早口でまくしたてる外国人とか来るからな このスレの住民みたいな奴らがIT土方なんだろうな ご愁傷さまです。 >>238 じゃあ全自動洗濯機君はなくても困らないんだね 日本のコンビニ店員や牛丼屋の定員は 高級ホテル並みの接客が要求されてるからな。 ジジィやばばあが良くクレームつけて店員に怒鳴ってるじゃん テレビもゲームもネットもなくてもいいよね? ばかなん? 論破されたら意味わかんないレスするしかないよな… ごめんなほんと >>252 いや、いいんですよ こちらこそ意味不明のレスしてごめんなさい 空気や光は生きるために必要なことだよな なくても問題なくない WEBなんか無くても問題ないって先にレスしたのお前だからな >>259 余りに単純な理屈で、誰もが気づきそうな事ほど気づかない、そこに気付けるのが天才、なコロンブスの卵的な意味で言ってるなら同意 そうじゃないならお前が池沼なだけ 前者であることを祈る アルゴリズムを勉強する際、ソートは比較的初期の段階で勉強すると思うが、 ソートの中でもバブルソートが一番最初だろう。 そしてその後すぐにクイックソートも習うことになる。 アルゴリズムをほとんど知らない状態でバブルソートのアイディアだけで、 クイックソートを習うまでの短い期間にクイックソートに自力でたどり着けたなら 間違いなく天才といえる。 >>8 forの範囲は√(入力値)までで良いから クソ無能野郎がデカい顔すんな >>261 コンセプトが全く違う パーティショニングのアルゴリズムを知ってる状態でクイックソートを思い付けたら、それは凄い /::::::ソ::::::::: :゛'ヽ、 /:::::::-、:::i´i|::|/:::::::::ヽ /::::::,,、ミ"ヽ` " / ::::::ヽ /::::::== - ~ `-:::::::ヽ |::::::::/_,=≡、 ,≡=~、l::::::: i i::::::::l゛/●\,! ,/●\ l:::::::! .|`:::| ⌒ ノ/_ i丶⌒ |:::::i (i ″ , ィ____ i i. ! /ノ ヽ i / l i i ./ (⌒) l ヽ ノ `トェェェイヽ、/´ ノ ~.レ-r┐ /~|、 ヽ `ー'´ /~\ ノ__ ! | .| ト、 / l ヽ `"ー−´/ 〈 ̄ '-ヽ.λ_レ  ̄` ー‐--‐ ' まあ、対象の数より小さな素数で割って行けばそのうち分かるよ。 素数判定なのに素数で割っていくってのがなかなかジワる 2で割る以外ないんだよなー 数学できてないだけじゃねーか >>261 ソートのアルゴリズムって 10種類ぐらいあったような希ガス もう遠い昔のことだから 細かいことは忘れたけど バブルソートの次はシェルソートを習ったような希ガス 度数ソートやバイナリソートは後のほうで習ったな。 つか、そう簡単に天才、天才というもんじゃないよ。 世の中天才だらけになるぞ? 俺とか(笑) 何万件とかのデータでも無い限り、ソートなんかアルゴリズム気にするだけ無駄だぞ。 そして何万件もあるなら見出しを作ってデータそのものを分けてしまえ。 ソートはあれだな アルゴリズムの選択で凄く実行時間が変わることがあるということを教えるための例として使われるだけで、バブルソートとかを手で実装するとかには全く意味がない 再帰を学ばせるためのハノイの塔とか見た目と計算量のギャップを学ばせるためのアッカーマン関数みたいなもん フローでまず書いてみなよ ネストで簡単に書けるから 構文覚えるよりも素数がどういうものか理解した方がいい。1、3、5、7、11… 7なら7、1の2つの数字しか割ることはできない。これが素数。3つの数字以上で割れたら素数ではない。もう分かっただろ。あとはfor文if文の使い方を覚えれば楽勝だな。 JavaとC言語使う現場はブラック率高いから早めに切り上げるべき これでええやろ受け入れテストさえ通れば勝ち確や 後でなんかあっても対応するのは他のやつや Set<Integer> p = Set.of(new Integer [] {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101}); IntStream.range(2,n).forEach(i -> System.out.println(i+"は素数"+(p.contains(i)?"":"ではない"))); 組み込みでこういうのやってそう。そういえばUnityの三角関数の計算ってすべての角度に(何度刻みかは忘れた)対して予め計算した結果があってそれを利用してた気がする 経済学者がプログラマの仕事が消えると公表したぞ 一方でコンビニ店員は消えない なぜなら、コンビニ店員がいないと高齢者が困るから 任意の400桁の整数が素数か判定するプログラム書いてください 寒色は無理しないで土方やればいいよ 朝早いし健康的やぞ 2から始めてそれまでに素数判定された1と自身以外の数で割ってみて割り切れなかったら素数判定に組み入れる を、ひたすら繰り返す Javaはライセンスの問題で一気に使いづらい言語になったからねー 統一協会の実態が見えて来たな 高校生が自分の無知を晒してしまって >>220 マグワイアよりヴァランのほうがいい INPEX1,300円なら買いたい #ガーシーは攻撃されればその都度ブチ切れて外へとんでいったかもしれん!! ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる