結果

問題 No.106 素数が嫌い!2
ユーザー chiho_miyakochiho_miyako
提出日時 2015-04-18 11:00:42
言語 Java21
(openjdk 21)
結果
AC  
実行時間 284 ms / 5,000 ms
コード長 1,071 bytes
コンパイル時間 2,470 ms
コンパイル使用メモリ 77,540 KB
実行使用メモリ 50,156 KB
最終ジャッジ日時 2024-07-04 16:13:39
合計ジャッジ時間 5,716 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 190 ms
45,900 KB
testcase_01 AC 103 ms
40,816 KB
testcase_02 AC 111 ms
42,080 KB
testcase_03 AC 103 ms
40,820 KB
testcase_04 AC 191 ms
46,000 KB
testcase_05 AC 284 ms
50,156 KB
testcase_06 AC 277 ms
49,048 KB
testcase_07 AC 284 ms
49,784 KB
testcase_08 AC 121 ms
41,852 KB
testcase_09 AC 129 ms
42,472 KB
testcase_10 AC 275 ms
49,180 KB
testcase_11 AC 181 ms
45,368 KB
testcase_12 AC 263 ms
48,568 KB
testcase_13 AC 102 ms
40,852 KB
testcase_14 AC 94 ms
40,488 KB
testcase_15 AC 107 ms
41,976 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;

public class Main {
   public static void main(String[] args) throws Exception {
       Scanner koko = new Scanner(System.in);
       int num = koko.nextInt();
       int k = koko.nextInt();

       int ptr = 0;                        
       int[] prime = new int[200000];  

       prime[ptr++] = 2;
       prime[ptr++] = 3;           

       for (int n = 5; n <= num; n += 2) {  
           boolean wflag = false;
           for (int i = 0; prime[i]*prime[i] <= n; i++) { 
               if (n % prime[i] == 0){
                   wflag = true;
                   break;
               }
           }
           if (!wflag){
               prime[ptr++] = n;
           }                   
       }
       int number=0;
       int[] judge = new int[num+1];
       for(int i=0; i<ptr; i++){
           for(int j=1; j*prime[i]<=num; j++){
               judge[j*prime[i]]++;
           }
       }
       for(int i=2; i<num+1; i++){
           if(judge[i]>=k){
               number++;
           }
       }
       System.out.println(number);
   }
}
0