java独学のワイ、素数判定プログラムが書けない
■ このスレッドは過去ログ倉庫に格納されています
JavaDriveというサイトでFor文まで理解するも書けない模様
ワイにプログラマーの資格はないんか? >>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言語使う現場はブラック率高いから早めに切り上げるべき ■ このスレッドは過去ログ倉庫に格納されています