質問編集履歴

3

if elseの条件更新

2020/12/14 16:03

投稿

cha-
cha-

スコア6

test CHANGED
File without changes
test CHANGED
@@ -136,6 +136,12 @@
136
136
 
137
137
  BigInteger diff = max.subtract(i);
138
138
 
139
+ //Random()の可能なシード値をループしてnを因数分解し、そこからpを作成して(pをテストするだけでよいので、qは必要ありません)、pを因数としてテストします。
140
+
141
+
142
+
143
+
144
+
139
145
  if (diff.compareTo(THRESHOLD)<0) {
140
146
 
141
147
 
@@ -156,7 +162,7 @@
156
162
 
157
163
  }
158
164
 
159
- else {
165
+ else {//それが機能しない場合
160
166
 
161
167
 
162
168
 

2

自分で試したことと、質問内容を更新

2020/12/14 16:03

投稿

cha-
cha-

スコア6

test CHANGED
File without changes
test CHANGED
@@ -138,7 +138,7 @@
138
138
 
139
139
  if (diff.compareTo(THRESHOLD)<0) {
140
140
 
141
- //コード入れたい
141
+
142
142
 
143
143
  // max 未満の各素数をループし、n を除算するかどうかを確認します。 その場合は、見つ
144
144
 
@@ -148,7 +148,9 @@
148
148
 
149
149
  次の値を選択します
150
150
 
151
-
151
+ int i=0,n=0,max=0;
152
+
153
+ ForkJoinRsaTask(i,n,max);
152
154
 
153
155
 
154
156
 
@@ -156,11 +158,19 @@
156
158
 
157
159
  else {
158
160
 
159
- //コードを入れたい
161
+
160
162
 
161
163
  //リストを半分に切り、2 つの半分に対して ForkJoinRsaTask を呼び出します(マルチスレ
162
164
 
163
165
  ッドクイックソートと同様)
166
+
167
+ List<ForkJoinRsaTask> folkjoinrsatask=new ArrayList<ForkJoinRsaTask>();
168
+
169
+ folkjoinrsatask.add(0);
170
+
171
+ folkjoinrsatask.add(1);
172
+
173
+ List<ForkJoinRsaTask> sbList = folkjoinrsatask.subList(1, 3);
164
174
 
165
175
 
166
176
 
@@ -176,12 +186,14 @@
176
186
 
177
187
 
178
188
 
179
- //FILL IN THIS CODEの下に
189
+ computeメソッドで、
180
190
 
181
191
 
182
192
 
183
- どういう風にForkJoinRsaTask呼び出しで開始範囲が狭くなるようにし(たとえば、20000など)、これをループして範囲最大でカバーし
193
+ max 未満各素数をループし、n 除算するかどうかを確認しす。 その場合は見つ
184
194
 
195
+ かった値を出力し、システムを終了してすべてのスレッドを終了し、
185
196
 
197
+ ループを通過するたびに、BigIntegernextProbablePrime メソッドを使用してテストするために値を選択し、無理ならelseでリストを半分に切り、2 つの半分に対して ForkJoinRsaTask を呼び出します(マルチスレ
186
198
 
187
- else条件をのよに表現よう迷っています
199
+ ッドクイックソートと同様)にはどうしたらいいのわかりせん。(私のコードだとエラーが出ま。)

1

和訳

2020/12/14 15:59

投稿

cha-
cha-

スコア6

test CHANGED
File without changes
test CHANGED
@@ -78,9 +78,9 @@
78
78
 
79
79
 
80
80
 
81
- // attempt to factor n
81
+ // nを因数分解しようとします
82
82
 
83
- // BigInteger i = n.sqrt();
83
+ // BigInteger i = n.sqrt();
84
84
 
85
85
  BigInteger i = n.multiply(n);
86
86
 
@@ -92,11 +92,11 @@
92
92
 
93
93
 
94
94
 
95
- // after getting the ForkJoinRsaTask working, put the following lines in a loop
95
+ // ForkJoinRsaTaskを機能させた後、次の行をループに入れます
96
96
 
97
- // to incrementally attack a smaller range of the search space, maybe 1000 or 20000...
97
+ //検索スペースのより狭い範囲(おそらく1000または20000)を段階的に攻撃します。
98
98
 
99
- // You could play around with the size to see what works best
99
+ //サイズをいじって、何が最適かを確認できます
100
100
 
101
101
  ForkJoinRsaTask forkJoinRsaTask = new ForkJoinRsaTask(n, i, max);
102
102
 
@@ -138,11 +138,15 @@
138
138
 
139
139
  if (diff.compareTo(THRESHOLD)<0) {
140
140
 
141
- //FILL IN THIS CODE
141
+ //コード入れたい
142
142
 
143
- // loop through each prime less than max and see if any divide n. If so, print the found value, and do a system exit to end all threads
143
+ // max 未満の各素数をループし、n を除算するかどうかを確認します。 その場合は、見つ
144
144
 
145
+ かった値を出力し、システムを終了してすべてのスレッドを終了します
146
+
145
- // each time through the loop, select the next value to test by using the BigInteger nextProbablePrime method
147
+ //ループを通過するたびに、BigIntegernextProbablePrime メソッドを使用してテストする
148
+
149
+ 次の値を選択します
146
150
 
147
151
 
148
152
 
@@ -152,9 +156,13 @@
152
156
 
153
157
  else {
154
158
 
155
- //FILL IN THIS CODE
159
+ //コードを入れたい
156
160
 
157
- //Cut the list in half, and call ForkJoinRsaTask for the two halves (similar to multithreaded quicksort)
161
+ //リストを半分に切り、2 つの半分に対して ForkJoinRsaTask を呼び出します(マルチスレ
162
+
163
+ ッドクイックソートと同様)
164
+
165
+
158
166
 
159
167
  }
160
168