回答編集履歴
3
誤記訂正
answer
CHANGED
@@ -103,7 +103,7 @@
|
|
103
103
|
* @param list :
|
104
104
|
* @return int[]
|
105
105
|
*/
|
106
|
-
|
106
|
+
static int[] toArrayIntegerToInt(List<Integer> list) {
|
107
107
|
int ls = list.size();
|
108
108
|
int[] arr = new int[ls];
|
109
109
|
for (int i = 2; i < ls; i++)
|
2
バグ修正
answer
CHANGED
@@ -6,6 +6,10 @@
|
|
6
6
|
・速度計測を`System.nanoTime();`に変更
|
7
7
|
・テスト用ログ出力切り替えを`func(1000, false);`引数でonoff出来るように変更
|
8
8
|
|
9
|
+
追記:
|
10
|
+
出力結果n=素数の個数が1少なかったので修正
|
11
|
+
`k++;`インクリメントする位置が後だったのが原因
|
12
|
+
|
9
13
|
```java
|
10
14
|
|
11
15
|
import java.util.LinkedList;
|
@@ -26,7 +30,7 @@
|
|
26
30
|
public static void main(String[] args) {
|
27
31
|
long start = System.nanoTime();
|
28
32
|
|
29
|
-
func(1000,
|
33
|
+
func(1000, true);
|
30
34
|
|
31
35
|
long end = System.nanoTime();
|
32
36
|
System.out.println((end - start) / 1000000f + "ms");
|
@@ -42,7 +46,7 @@
|
|
42
46
|
int n = 0;
|
43
47
|
|
44
48
|
//テスト用ログ出力
|
45
|
-
boolean isTest =
|
49
|
+
boolean isTest = false;
|
46
50
|
|
47
51
|
//素数リスト生成
|
48
52
|
int[] p = makePrimesArray(num);
|
@@ -51,24 +55,19 @@
|
|
51
55
|
for (int j = 0; j < p.length; j++) {//素数のみ
|
52
56
|
|
53
57
|
int k = 0;
|
54
|
-
while (
|
58
|
+
while (isPrime(k * k + k * i + p[j])) {
|
59
|
+
|
60
|
+
k++;//修正:0の時もカウントするように先に足す
|
55
61
|
|
56
|
-
if (
|
62
|
+
if (n < k) {
|
63
|
+
n = k;
|
64
|
+
a = i;
|
65
|
+
b = p[j];
|
57
66
|
|
58
|
-
if (n < k) {
|
59
|
-
n = k + 1;//修正:0の時もカウント
|
60
|
-
a = i;
|
61
|
-
b = p[j];
|
62
|
-
|
63
|
-
|
67
|
+
//テスト用ログ出力
|
64
|
-
|
68
|
+
if (isTest)
|
65
|
-
|
69
|
+
printAnswer(a, b, n, a * b);
|
66
|
-
|
67
|
-
}
|
68
|
-
} else {
|
69
|
-
break;
|
70
70
|
}
|
71
|
-
k++;
|
72
71
|
}
|
73
72
|
}
|
74
73
|
}
|
@@ -104,7 +103,7 @@
|
|
104
103
|
* @param list :
|
105
104
|
* @return int[]
|
106
105
|
*/
|
107
|
-
static int[] toArrayIntegerToInt(List<Integer> list) {
|
106
|
+
public static int[] toArrayIntegerToInt(List<Integer> list) {
|
108
107
|
int ls = list.size();
|
109
108
|
int[] arr = new int[ls];
|
110
109
|
for (int i = 2; i < ls; i++)
|
@@ -138,8 +137,14 @@
|
|
138
137
|
return true;
|
139
138
|
}
|
140
139
|
}
|
140
|
+
|
141
141
|
```
|
142
142
|
出力結果
|
143
143
|
a:-61 b:971 n:70
|
144
144
|
-59231
|
145
|
-
15.597411ms
|
145
|
+
15.597411ms
|
146
|
+
|
147
|
+
出力結果修正後
|
148
|
+
a:-61 b:971 n:71
|
149
|
+
-59231
|
150
|
+
15.954789ms
|
1
誤記訂正
answer
CHANGED
@@ -104,7 +104,7 @@
|
|
104
104
|
* @param list :
|
105
105
|
* @return int[]
|
106
106
|
*/
|
107
|
-
|
107
|
+
static int[] toArrayIntegerToInt(List<Integer> list) {
|
108
108
|
int ls = list.size();
|
109
109
|
int[] arr = new int[ls];
|
110
110
|
for (int i = 2; i < ls; i++)
|