Table of Contents
仕事場でお遊びがありました。素数の1000番目を誰が一番速く処理できるか。
言語はなんでもいいとのこと。Cで書けばそりゃ速いだろということになるけど自分はJavaが得意なのでJavaで書いてみた。結局System.out.printlnの出力で時間をつかってしまうので出力しないと大分速くてそんなに差がないのでわ。
1: public class sosu{
2: public static void main(String[] args){
3: long start = System.currentTimeMillis();
4: int j = 0;
5: int k = 0;
6: for(int i = 1; true ; i++){
7: int s = 0;
8: for(j = 1; j <= i; j++){
9: if (i%j == 0){
10: s++;
11: }
12: }
13: if(s == 2) {
14: k++;
15: System.out.println(k + ":" + i);
16: if(k == 1000) break;
17: }
18: }
19: long stop = System.currentTimeMillis();
20: System.out.println("実行時間: " + (stop - start) + "ミリ秒");
21: }
22: }