結果
問題 | No.106 素数が嫌い!2 |
ユーザー |
|
提出日時 | 2016-05-09 23:32:53 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 631 ms / 5,000 ms |
コード長 | 971 bytes |
コンパイル時間 | 2,271 ms |
コンパイル使用メモリ | 78,120 KB |
実行使用メモリ | 60,380 KB |
最終ジャッジ日時 | 2024-10-05 13:19:40 |
合計ジャッジ時間 | 7,692 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 |
ソースコード
package jp.fedom.challange.yuki.l2.q106; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); List<String> input = new ArrayList<>(); while (sc.hasNext()) { input.add(sc.nextLine()); } System.out.println(solve(input)); sc.close(); } public static int solve(List<String> in) { int N = Integer.valueOf(in.get(0).split(" ")[0]); int K = Integer.valueOf(in.get(0).split(" ")[1]); int[] f = new int[N + 1]; int c = 0; for (int i = 2; i <= N; i++) { if (isPrime(i)) { for (int n = 1; i * n <= N; n++) { f[n * i]++; if (f[n * i] == K) { c++; } } } } return c; } private static boolean isPrime(int j) { int N = (int) Math.sqrt(j); boolean isPrime = true; for (int i = 2; i <= N; i++) { if (j % i == 0) { isPrime = false; break; } } return isPrime; } }