プロジェクトオイラーを始めてみました。
知り合いからプロジェクトオイラーというものを教えてもらったので始めてみた。
プロジェクトオイラーとは、プログラマー用の頭の体操といったところ。
全部で300問近くあるみたいなので1日1問!
色々なプログラム言語で挑戦できるようだが、
KayacのJSDoitというサービスを使ってJavascriptでやることにする。
とりあえず1−3問目まで挑戦しました。
(元)http://projecteuler.net/index.php?section=about
(和訳)http://odz.sakura.ne.jp/projecteuler/index.php?Problem%204
(Jsdo.itでの実行結果)http://jsdo.it/oggata/fesC
document.write('<p>Project Euler 001</p>'); j = 0; i = 0; for(j=1;j<1000;j++){ if(j%3 == 0 || j%5 == 0){ i = i + j; } } document.write(i); document.write('<p>Project Euler 002</p>'); kou_1 = 1; kou_2 = 2; kou_3 = kou_1 + kou_2; wa = 2; while(kou_3 < 4000000){ kou_3 = kou_1 + kou_2; //3 kou_1 = kou_2; //2 kou_2 = kou_3; //3 if(kou_3%2 ==0){ wa = wa + kou_3; } // document.write(kou_3); } document.write(wa); document.write('<p>Project Euler 003</p>'); moto_num = 131955000; wari_num = 2; max_sosu = 2; while(wari_num < Math.sqrt(moto_num)){ if(moto_num % wari_num == 0){ if(return_sosu(wari_num) == true){ // document.write(wari_num); //5 // document.write('|'); max_sosu = wari_num; } } wari_num =wari_num +1; } document.write(max_sosu); //target_num 判定する数字 //return true:素数 false:素数でない function return_sosu(target_num){ add_num = 1; sosu_cnt = 0; while(add_num < Math.sqrt(target_num)){ add_num = add_num + 1;//2 if(target_num % add_num == 0){ sosu_cnt = sosu_cnt + 1; } } if(sosu_cnt== 0){ return true; }else{ return false; } }