Primes: n*2^m+1: Difference between revisions
Content added Content deleted
(Created Nim solution.) |
(Added solution for stretch tasks.) |
||
Line 1,156: | Line 1,156: | ||
=={{header|Nim}}== |
=={{header|Nim}}== |
||
===Task=== |
|||
<syntaxhighlight lang = "Nim">import std/strformat |
<syntaxhighlight lang = "Nim">import std/strformat |
||
Line 1,228: | Line 1,229: | ||
44 1 89 |
44 1 89 |
||
45 2 181 |
45 2 181 |
||
</pre> |
|||
===Stretch tasks=== |
|||
{{libheader|Nim-Integers}} |
|||
<syntaxhighlight lang = "Nim">import std/strformat |
|||
import integers |
|||
func compressed(str: string; size: int): string = |
|||
## Return a compressed value for long strings of digits. |
|||
if str.len <= 2 * size: str |
|||
else: &"{str[0..<size]}...{str[^size..^1]} ({str.len} digits)" |
|||
echo " n m prime" |
|||
for n in 1..400: |
|||
var m = 0 |
|||
var term = newInteger(n) |
|||
while true: |
|||
if isPrime(term + 1): |
|||
echo &"{n:3} {m:4} {compressed($(term + 1), 10)}" |
|||
break |
|||
inc m |
|||
term *= 2 |
|||
</syntaxhighlight> |
|||
<pre> n m prime |
|||
1 0 2 |
|||
2 0 3 |
|||
3 1 7 |
|||
4 0 5 |
|||
5 1 11 |
|||
6 0 7 |
|||
7 2 29 |
|||
8 1 17 |
|||
9 1 19 |
|||
10 0 11 |
|||
11 1 23 |
|||
12 0 13 |
|||
13 2 53 |
|||
14 1 29 |
|||
15 1 31 |
|||
16 0 17 |
|||
17 3 137 |
|||
18 0 19 |
|||
19 6 1217 |
|||
20 1 41 |
|||
21 1 43 |
|||
22 0 23 |
|||
23 1 47 |
|||
24 2 97 |
|||
25 2 101 |
|||
26 1 53 |
|||
27 2 109 |
|||
28 0 29 |
|||
29 1 59 |
|||
30 0 31 |
|||
31 8 7937 |
|||
32 3 257 |
|||
33 1 67 |
|||
34 2 137 |
|||
35 1 71 |
|||
36 0 37 |
|||
37 2 149 |
|||
38 5 1217 |
|||
39 1 79 |
|||
40 0 41 |
|||
41 1 83 |
|||
42 0 43 |
|||
43 2 173 |
|||
44 1 89 |
|||
45 2 181 |
|||
46 0 47 |
|||
47 583 1487939695...6574002177 (178 digits) |
|||
48 1 97 |
|||
49 2 197 |
|||
50 1 101 |
|||
51 1 103 |
|||
52 0 53 |
|||
53 1 107 |
|||
54 1 109 |
|||
55 4 881 |
|||
56 1 113 |
|||
57 2 229 |
|||
58 0 59 |
|||
59 5 1889 |
|||
60 0 61 |
|||
61 4 977 |
|||
62 7 7937 |
|||
63 1 127 |
|||
64 2 257 |
|||
65 1 131 |
|||
66 0 67 |
|||
67 2 269 |
|||
68 1 137 |
|||
69 1 139 |
|||
70 0 71 |
|||
71 3 569 |
|||
72 0 73 |
|||
73 2 293 |
|||
74 1 149 |
|||
75 1 151 |
|||
76 4 1217 |
|||
77 3 617 |
|||
78 0 79 |
|||
79 2 317 |
|||
80 3 641 |
|||
81 1 163 |
|||
82 0 83 |
|||
83 1 167 |
|||
84 2 337 |
|||
85 4 1361 |
|||
86 1 173 |
|||
87 2 349 |
|||
88 0 89 |
|||
89 1 179 |
|||
90 1 181 |
|||
91 8 23297 |
|||
92 7 11777 |
|||
93 2 373 |
|||
94 582 1487939695...6574002177 (178 digits) |
|||
95 1 191 |
|||
96 0 97 |
|||
97 2 389 |
|||
98 1 197 |
|||
99 1 199 |
|||
100 0 101 |
|||
101 3 809 |
|||
102 0 103 |
|||
103 16 6750209 |
|||
104 5 3329 |
|||
105 1 211 |
|||
106 0 107 |
|||
107 3 857 |
|||
108 0 109 |
|||
109 6 6977 |
|||
110 3 881 |
|||
111 1 223 |
|||
112 0 113 |
|||
113 1 227 |
|||
114 1 229 |
|||
115 2 461 |
|||
116 1 233 |
|||
117 3 937 |
|||
118 4 1889 |
|||
119 1 239 |
|||
120 1 241 |
|||
121 8 30977 |
|||
122 3 977 |
|||
123 6 7873 |
|||
124 6 7937 |
|||
125 1 251 |
|||
126 0 127 |
|||
127 2 509 |
|||
128 1 257 |
|||
129 3 1033 |
|||
130 0 131 |
|||
131 1 263 |
|||
132 4 2113 |
|||
133 4 2129 |
|||
134 1 269 |
|||
135 1 271 |
|||
136 0 137 |
|||
137 3 1097 |
|||
138 0 139 |
|||
139 2 557 |
|||
140 1 281 |
|||
141 1 283 |
|||
142 2 569 |
|||
143 53 1288029493427961857 |
|||
144 2 577 |
|||
145 6 9281 |
|||
146 1 293 |
|||
147 8 37633 |
|||
148 0 149 |
|||
149 3 1193 |
|||
150 0 151 |
|||
151 4 2417 |
|||
152 3 1217 |
|||
153 1 307 |
|||
154 2 617 |
|||
155 1 311 |
|||
156 0 157 |
|||
157 8 40193 |
|||
158 1 317 |
|||
159 6 10177 |
|||
160 2 641 |
|||
161 3 1289 |
|||
162 0 163 |
|||
163 2 653 |
|||
164 9 83969 |
|||
165 1 331 |
|||
166 0 167 |
|||
167 7 21377 |
|||
168 1 337 |
|||
169 2 677 |
|||
170 3 1361 |
|||
171 8 43777 |
|||
172 0 173 |
|||
173 1 347 |
|||
174 1 349 |
|||
175 2 701 |
|||
176 1 353 |
|||
177 2 709 |
|||
178 0 179 |
|||
179 1 359 |
|||
180 0 181 |
|||
181 4 2897 |
|||
182 7 23297 |
|||
183 1 367 |
|||
184 6 11777 |
|||
185 3 1481 |
|||
186 1 373 |
|||
187 6 11969 |
|||
188 581 1487939695...6574002177 (178 digits) |
|||
189 1 379 |
|||
190 0 191 |
|||
191 1 383 |
|||
192 0 193 |
|||
193 2 773 |
|||
194 1 389 |
|||
195 4 3121 |
|||
196 0 197 |
|||
197 15 6455297 |
|||
198 0 199 |
|||
199 2 797 |
|||
200 1 401 |
|||
201 3 1609 |
|||
202 2 809 |
|||
203 13 1662977 |
|||
204 1 409 |
|||
205 2 821 |
|||
206 15 6750209 |
|||
207 2 829 |
|||
208 4 3329 |
|||
209 1 419 |
|||
210 0 211 |
|||
211 20 221249537 |
|||
212 3 1697 |
|||
213 2 853 |
|||
214 2 857 |
|||
215 1 431 |
|||
216 1 433 |
|||
217 66 1601177385...9890802689 (23 digits) |
|||
218 5 6977 |
|||
219 1 439 |
|||
220 2 881 |
|||
221 1 443 |
|||
222 0 223 |
|||
223 8 57089 |
|||
224 1 449 |
|||
225 3 1801 |
|||
226 0 227 |
|||
227 11 464897 |
|||
228 0 229 |
|||
229 6 14657 |
|||
230 1 461 |
|||
231 1 463 |
|||
232 0 233 |
|||
233 1 467 |
|||
234 2 937 |
|||
235 2 941 |
|||
236 3 1889 |
|||
237 4 3793 |
|||
238 0 239 |
|||
239 1 479 |
|||
240 0 241 |
|||
241 36 16561393893377 |
|||
242 7 30977 |
|||
243 1 487 |
|||
244 2 977 |
|||
245 1 491 |
|||
246 5 7873 |
|||
247 6 15809 |
|||
248 5 7937 |
|||
249 1 499 |
|||
250 0 251 |
|||
251 1 503 |
|||
252 2 1009 |
|||
253 2 1013 |
|||
254 1 509 |
|||
255 2 1021 |
|||
256 0 257 |
|||
257 279 2496329526...9292015617 (87 digits) |
|||
258 2 1033 |
|||
259 38 71193377898497 |
|||
260 1 521 |
|||
261 1 523 |
|||
262 0 263 |
|||
263 29 141197049857 |
|||
264 3 2113 |
|||
265 2 1061 |
|||
266 3 2129 |
|||
267 2 1069 |
|||
268 0 269 |
|||
269 3 2153 |
|||
270 0 271 |
|||
271 4 4337 |
|||
272 11 557057 |
|||
273 1 547 |
|||
274 2 1097 |
|||
275 7 35201 |
|||
276 0 277 |
|||
277 2 1109 |
|||
278 1 557 |
|||
279 2 1117 |
|||
280 0 281 |
|||
281 1 563 |
|||
282 0 283 |
|||
283 30 303868936193 |
|||
284 1 569 |
|||
285 1 571 |
|||
286 52 1288029493427961857 |
|||
287 3 2297 |
|||
288 1 577 |
|||
289 10 295937 |
|||
290 5 9281 |
|||
291 4 4657 |
|||
292 0 293 |
|||
293 1 587 |
|||
294 7 37633 |
|||
295 2 1181 |
|||
296 1 593 |
|||
297 3 2377 |
|||
298 2 1193 |
|||
299 1 599 |
|||
300 1 601 |
|||
301 4 4817 |
|||
302 3 2417 |
|||
303 1 607 |
|||
304 2 1217 |
|||
305 3 2441 |
|||
306 0 307 |
|||
307 2 1229 |
|||
308 1 617 |
|||
309 1 619 |
|||
310 0 311 |
|||
311 9 159233 |
|||
312 0 313 |
|||
313 4 5009 |
|||
314 7 40193 |
|||
315 1 631 |
|||
316 0 317 |
|||
317 7 40577 |
|||
318 5 10177 |
|||
319 2 1277 |
|||
320 1 641 |
|||
321 1 643 |
|||
322 2 1289 |
|||
323 1 647 |
|||
324 2 1297 |
|||
325 2 1301 |
|||
326 1 653 |
|||
327 3 2617 |
|||
328 8 83969 |
|||
329 1 659 |
|||
330 0 331 |
|||
331 4 5297 |
|||
332 3 2657 |
|||
333 5 10657 |
|||
334 6 21377 |
|||
335 19 175636481 |
|||
336 0 337 |
|||
337 4 5393 |
|||
338 1 677 |
|||
339 3 2713 |
|||
340 2 1361 |
|||
341 1 683 |
|||
342 7 43777 |
|||
343 2 1373 |
|||
344 3 2753 |
|||
345 1 691 |
|||
346 0 347 |
|||
347 3 2777 |
|||
348 0 349 |
|||
349 10 357377 |
|||
350 1 701 |
|||
351 12 1437697 |
|||
352 0 353 |
|||
353 21 740294657 |
|||
354 1 709 |
|||
355 6 22721 |
|||
356 5 11393 |
|||
357 2 1429 |
|||
358 0 359 |
|||
359 1 719 |
|||
360 6 23041 |
|||
361 28 96905199617 |
|||
362 3 2897 |
|||
363 1 727 |
|||
364 6 23297 |
|||
365 5 11681 |
|||
366 0 367 |
|||
367 12 1503233 |
|||
368 5 11777 |
|||
369 1 739 |
|||
370 2 1481 |
|||
371 1 743 |
|||
372 0 373 |
|||
373 2 1493 |
|||
374 5 11969 |
|||
375 1 751 |
|||
376 580 1487939695...6574002177 (178 digits) |
|||
377 11 772097 |
|||
378 0 379 |
|||
379 14 6209537 |
|||
380 1 761 |
|||
381 3 3049 |
|||
382 0 383 |
|||
383 6393 1169394518...1620750337 (1928 digits) |
|||
384 1 769 |
|||
385 8 98561 |
|||
386 1 773 |
|||
387 2 1549 |
|||
388 0 389 |
|||
389 11 796673 |
|||
390 3 3121 |
|||
391 4 6257 |
|||
392 3 3137 |
|||
393 1 787 |
|||
394 14 6455297 |
|||
395 5 12641 |
|||
396 0 397 |
|||
397 4 6353 |
|||
398 1 797 |
|||
399 2 1597 |
|||
400 0 401 |
|||
</pre> |
</pre> |
||