Jump to content

Magnanimous numbers: Difference between revisions

→‎{{header|Pascal}}: changed Sieve of erathostenes in InitPrimes now TIO.RUN 5.5s instead of 22s at home 1.85s
(added =={{header|Pascal}}== all Magnanimous Numbers til 1e10)
(→‎{{header|Pascal}}: changed Sieve of erathostenes in InitPrimes now TIO.RUN 5.5s instead of 22s at home 1.85s)
Line 1,078:
{{works with|Free Pascal}}
Version nearly like on Talk. Generating the sieve for primes takes most of the time.<br>
found all til #564 : 91519955929,151,995,592 in 0.826795 s.
<lang pascal>program Magnanimous;
//Magnanimous Numbers
//algorithm find only numbers where all digits are even except the last
Line 1,126:
begin
pMag[j+1]:=pMag[j];
Dec(j);
beginend;
pMag[j+1]:= pivot;
end;
pMag[j+1]:= pivot;
end;
end;
 
procedure InitPrimes;
Line 1,159:
end;
end;
//turn the rimeprime wheel
for p := length(primes) div l -1 downto 1 do
move(pPrimes[1],pPrimes[p*l+1],l);
Line 1,171:
 
p := smallprimes[High(smallprimes)];
//sieve with next primes
repeat
repeat
inc(p,2)
until pPrimes[p] = 0;
//j = maxfactor of p in l
 
ij := p* l div p;
j// :=make j 2*p;prime
if iwhile (pPrimes[j]<> l0) AND (j>=p) thendo
dec(j);
whileif ij<=p l dothen
BREAK;
//delta going downwards no factor 2,3 :-2 -4 -2 -4 //prime must >= 5
while i<= l do
//to minimize memory accesses in deep space...
begin
pPrimes[i] := (j+1) mod 6;
if inc(i,p) = 0 then
end i :=4;
repeat
//search next prime factor
while (pPrimes[j]<> 0) AND (j>=p) do
begin
dec(j,i);
i := 6-i;
end;
if j<p then
BREAK;
//access far memory , unmark prime .
pPrimes[j*p] := 1;
dec(j,i);
i := 6-i;
until j<p;
until false;
 
Line 1,332 ⟶ 1,349:
InsertSort(@MagList[0],0,MagIdx-1);
For cnt := 0 to MagIdx-1 do
writeln(cnt+1:3,' ',Numb2USA(IntToStr(MagList[cnt])));
T0 -= Gettickcount64;
writeln(-T0 / 1000: 0: 3, ' s');
{$IFDEF Windows}
 
readln;
{$ENDIF}
end.
</lang>
Line 1,342 ⟶ 1,360:
<pre style="height:180px">
TIO.RUN
// copied last lines 564 9,151,995,592--0.795 s
getting primes 22.435 s
// copied last lines 564 9,151,995,592--0.826 s--Real time: 236.476936 s User time: 204.033921 s Sys. time: 21.904843 s CPU share: 97.7051 %
getting primes 225.435530 s
1 0
2 1
Line 1,466 ⟶ 1,485:
121 994
122 998
123 10011,001
124 11121,112
125 11301,130
126 11981,198
127 13101,310
128 13161,316
129 15981,598
130 17561,756
131 17721,772
132 19101,910
133 19181,918
134 19521,952
135 19701,970
136 19901,990
137 22092,209
138 22212,221
139 22252,225
140 22492,249
141 22612,261
142 22672,267
143 22812,281
144 24292,429
145 24472,447
146 24652,465
147 24892,489
148 26452,645
149 26812,681
150 28852,885
151 31103,110
152 31703,170
153 33103,310
154 33343,334
155 33703,370
156 33983,398
157 35183,518
158 35543,554
159 37303,730
160 37363,736
161 37943,794
162 39343,934
163 39743,974
164 40014,001
165 40274,027
166 40634,063
167 42294,229
168 42474,247
169 42654,265
170 42674,267
171 44274,427
172 44454,445
173 44634,463
174 46434,643
175 48254,825
176 48834,883
177 51585,158
178 51765,176
179 53745,374
180 55165,516
181 55525,552
182 55585,558
183 55945,594
184 57525,752
185 59725,972
186 59925,992
187 60016,001
188 60076,007
189 60676,067
190 62656,265
191 64036,403
192 64256,425
193 64436,443
194 64856,485
195 66016,601
196 66856,685
197 68036,803
198 68216,821
199 73307,330
200 73767,376
201 73907,390
202 73947,394
203 75347,534
204 75567,556
205 75927,592
206 77127,712
207 79347,934
208 79707,970
209 80098,009
210 80298,029
211 82218,221
212 82258,225
213 88018,801
214 88218,821
215 91189,118
216 91729,172
217 91909,190
218 93389,338
219 93709,370
220 93749,374
221 95129,512
222 95989,598
223 97109,710
224 97349,734
225 97529,752
226 99109,910
227 1111611,116
228 1115211,152
229 1117011,170
230 1155811,558
231 1193011,930
232 1311813,118
233 1313613,136
234 1355613,556
235 1557215,572
236 1573615,736
237 1593815,938
238 1595215,952
239 1771617,716
240 1775217,752
241 1799217,992
242 1997219,972
243 2020920,209
244 2026120,261
245 2086120,861
246 2206122,061
247 2220122,201
248 2280122,801
249 2288522,885
250 2440724,407
251 2620126,201
252 2628526,285
253 2688126,881
254 2828528,285
255 2842928,429
256 3137031,370
257 3175631,756
258 3311833,118
259 3353833,538
260 3355433,554
261 3511635,116
262 3577635,776
263 3719037,190
264 3755637,556
265 3779037,790
266 3793037,930
267 3915839,158
268 3939439,394
269 4000140,001
270 4004340,043
271 4004940,049
272 4006740,067
273 4042740,427
274 4046340,463
275 4048340,483
276 4220942,209
277 4226542,265
278 4400944,009
279 4444344,443
280 4444744,447
281 4644546,445
282 4808948,089
283 4826548,265
284 5111251,112
285 5317653,176
286 5375653,756
287 5391853,918
288 5551655,516
289 5555255,552
290 5555855,558
291 5557655,576
292 5577455,774
293 5711657,116
294 5775457,754
295 6000760,007
296 6004760,047
297 6040360,403
298 6044360,443
299 6066760,667
300 6202162,021
301 6266562,665
302 6464564,645
303 6666766,667
304 6668566,685
305 6800368,003
306 6868368,683
307 7153671,536
308 7157271,572
309 7171671,716
310 7175271,752
311 7315673,156
312 7537475,374
313 7555675,556
314 7715277,152
315 7755477,554
316 7933079,330
317 7937079,370
318 8000980,009
319 8002980,029
320 8080180,801
321 8084980,849
322 8226582,265
323 8228582,285
324 8282582,825
325 8282982,829
326 8426584,265
327 8608186,081
328 8622186,221
329 8806188,061
330 8822988,229
331 8826588,265
332 8862188,621
333 9179291,792
334 9333893,338
335 9395893,958
336 9399493,994
337 9971299,712
338 9999899,998
339 111112111,112
340 111118111,118
341 111170111,170
342 111310111,310
343 113170113,170
344 115136115,136
345 115198115,198
346 115772115,772
347 117116117,116
348 119792119,792
349 135158135,158
350 139138139,138
351 151156151,156
352 151592151,592
353 159118159,118
354 177556177,556
355 193910193,910
356 199190199,190
357 200209200,209
358 200809200,809
359 220021220,021
360 220661220,661
361 222245222,245
362 224027224,027
363 226447226,447
364 226681226,681
365 228601228,601
366 282809282,809
367 282881282,881
368 282889282,889
369 311156311,156
370 319910319,910
371 331118331,118
372 333770333,770
373 333994333,994
374 335156335,156
375 339370339,370
376 351938351,938
377 359794359,794
378 371116371,116
379 373130373,130
380 393554393,554
381 399710399,710
382 400049400,049
383 404249404,249
384 408049408,049
385 408889408,889
386 424607424,607
387 440843440,843
388 464447464,447
389 484063484,063
390 484445484,445
391 486685486,685
392 488489488,489
393 515116515,116
394 533176533,176
395 551558551,558
396 559952559,952
397 595592595,592
398 595598595,598
399 600881600,881
400 602081602,081
401 626261626,261
402 628601628,601
403 644485644,485
404 684425684,425
405 686285686,285
406 711512711,512
407 719710719,710
408 753316753,316
409 755156755,156
410 773554773,554
411 777712777,712
412 777776777,776
413 799394799,394
414 799712799,712
415 800483800,483
416 802061802,061
417 802081802,081
418 804863804,863
419 806021806,021
420 806483806,483
421 806681806,681
422 822265822,265
423 864883864,883
424 888485888,485
425 888601888,601
426 888643888,643
427 911390911,390
428 911518911,518
429 915752915,752
430 931130931,130
431 975772975,772
432 979592979,592
433 991118991,118
434 999994999,994
435 11157561,115,756
436 11377701,137,770
437 11915181,191,518
438 11973701,197,370
439 13531361,353,136
440 13799301,379,930
441 15337361,533,736
442 15935381,593,538
443 17115761,711,576
444 17911101,791,110
445 17959121,795,912
446 19159721,915,972
447 19519581,951,958
448 20002212,000,221
449 20088292,008,829
450 24424852,442,485
451 26040672,604,067
452 26066472,606,647
453 26644252,664,425
454 26660212,666,021
455 28288092,828,809
456 28624452,862,445
457 31551163,155,116
458 31717103,171,710
459 31931983,193,198
460 31953383,195,338
461 31953983,195,398
462 33153583,315,358
463 33733363,373,336
464 35737163,573,716
465 37375343,737,534
466 37515763,751,576
467 39391183,939,118
468 40004834,000,483
469 44086034,408,603
470 44688654,468,865
471 44882454,488,245
472 46444074,644,407
473 51157365,115,736
474 53577765,357,776
475 55513765,551,376
476 55797745,579,774
477 57311365,731,136
478 57595945,759,594
479 59597745,959,774
480 64626676,462,667
481 66002276,600,227
482 66004436,600,443
483 66080816,608,081
484 66400636,640,063
485 66406436,640,643
486 68246656,824,665
487 68644856,864,485
488 68666836,866,683
489 71137107,113,710
490 71331107,133,110
491 71393907,139,390
492 71533367,153,336
493 71591727,159,172
494 73111707,311,170
495 73513767,351,376
496 77193707,719,370
497 79599347,959,934
498 79795347,979,534
499 80440098,044,009
500 80682018,068,201
501 86080818,608,081
502 88444498,844,449
503 91711709,171,170
504 97779109,777,910
505 99593749,959,374
506 1177199211,771,992
507 1391317013,913,170
508 1517711215,177,112
509 1711511617,115,116
510 1933717019,337,170
511 1971313019,713,130
512 2026668120,266,681
513 2208682122,086,821
514 2260060122,600,601
515 2286288522,862,885
516 2642864526,428,645
517 2886246528,862,465
518 3393951833,939,518
519 3795999437,959,994
520 4086608340,866,083
521 4486604344,866,043
522 4860604348,606,043
523 4880480948,804,809
524 5113777651,137,776
525 5151311851,513,118
526 5315137653,151,376
527 5377593453,775,934
528 5959357459,593,574
529 6040224760,402,247
530 6086060360,860,603
531 6220228162,202,281
532 6462266564,622,665
533 6686462566,864,625
534 6688648366,886,483
535 7155353671,553,536
536 7791759277,917,592
537 8248682582,486,825
538 8684226586,842,265
539 9195939891,959,398
540 9555999895,559,998
541 117711170117,711,170
542 222866845222,866,845
543 228440489228,440,489
544 244064027244,064,027
545 280422829280,422,829
546 331111958331,111,958
547 400044049400,044,049
548 460040803460,040,803
549 511151552511,151,552
550 593559374593,559,374
551 606202627606,202,627
552 608844043608,844,043
553 622622801622,622,801
554 622888465622,888,465
555 773719910773,719,910
556 844460063844,460,063
557 882428665882,428,665
558 995955112995,955,112
559 17771377701,777,137,770
560 22400642272,240,064,227
561 24444028092,444,402,809
562 57537795945,753,779,594
563 64648862456,464,886,245
564 91519955929,151,995,592
0.826795 s
 
Real time: 23.476 s User time: 20.033 s Sys. time: 2.904 s CPU share: 97.70 %</pre>
=={{header|Perl}}==
{{trans|Raku}}
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.