wrest, вот сейчас прога простая. Вам не составит труда разобраться в ней. Однако же под Убунту пашет медленнее, местами чуть не в два раза.
PARI из консоли:
Код:
10^ From 1e6 2 4 8 16 Time
8 131593 413 492 92 0 843 ms
9 131596 364 495 133 4 1,011 ms
10 131591 330 487 169 11 1,262 ms
11 131587 299 479 198 21 1,677 ms
12 131575 277 464 222 33 2,415 ms
13 131586 253 457 242 44 3,770 ms
14 131610 236 442 257 57 5,831 ms
15 131577 220 431 273 68 8,206 ms
16 131611 206 419 283 80 11,229 ms
17 131604 193 407 293 91 16,410 ms
18 131579 182 397 301 101 20,336 ms
19 131593 174 387 304 111 30,576 ms
20 131590 166 375 310 120 45,190 ms
21 131597 157 366 315 128 57,913 ms
22 131580 151 355 318 138 1min, 15,884 ms
23 131588 144 349 319 143 1min, 34,359 ms
24 131572 138 341 322 151 1min, 53,365 ms
25 131573 135 329 323 159 2min, 20,116 ms
26 131583 127 325 323 165 2min, 48,863 ms
27 131581 123 319 324 170 3min, 21,185 ms
28 131573 118 311 324 176 4min, 4,160 ms
29 131597 115 306 323 180 4min, 59,762 ms
30 131592 110 299 325 185 5min, 58,662 ms
31 131587 108 293 322 191 7min, 19,684 ms
32 131593 104 287 321 196 9min, 8,214 ms
33 131580 101 282 322 198 11min, 30,009 ms
Ubuntu:
Код:
8 131593 413 492 92 0 525 ms
9 131596 364 495 133 4 941 ms
10 131591 330 487 169 11 1,798 ms
11 131587 299 479 198 21 3,117 ms
12 131575 277 464 222 33 5,173 ms
13 131586 253 457 242 44 8,290 ms
14 131610 236 442 257 57 12,967 ms
15 131577 220 431 273 68 19,901 ms
16 131611 206 419 283 80 30,819 ms
17 131604 193 407 293 91 47,365 ms
18 131579 182 397 301 101 58,414 ms
19 131593 174 387 304 111 1min, 9,453 ms
20 131590 166 375 310 120 1min, 29,548 ms
21 131597 157 366 315 128 1min, 47,881 ms
22 131580 151 355 318 138 2min, 6,728 ms
23 131588 144 349 319 143 2min, 32,251 ms
24 131572 138 341 322 151 2min, 56,582 ms
25 131573 135 329 323 159 3min, 25,919 ms
26 131583 127 325 323 165 3min, 55,179 ms
27 131581 123 319 324 170 4min, 30,877 ms
28 131573 118 311 324 176 5min, 7,182 ms
29 131597 115 306 323 180 5min, 53,442 ms
30 131592 110 299 325 185 6min, 49,764 ms
31 131587 108 293 322 191 8min, 7,227 ms
32 131593 104 287 321 196 9min, 59,754 ms
33 131580 101 282 322 198 11min, 46,644 ms
Для всё больших чисел скорость выравнивается. Может ещё обгонит.
Программа:
(PARI)
Код:
{t0=getwalltime();print;
ogrp = 67;
for (ste = 8, 38,
t1=getwalltime(); kol = vector(4); kpod = 0;
forstep( n = 10^ste - 1 * 10^6 - 1, 10^ste - 1, 2,
fac = factor(n); kunp = matsize(fac)[1];
if(fac[1,1] >= ogrp,
kpod++; kdel = 1;
for(i = 1, kunp, kdel *= fac[i,2] + 1);
if(kdel == 8, kol[3]++;next);
if(kdel == 4, kol[2]++;next);
if(kdel == 16, kol[4]++;next);
if(kdel == 2, kol[1]++);
));
print1(" ", ste," ", kpod," ");
for(i=1,4,print1(round(kol[i]/kpod*1000)," "));
print(," ", strtime(getwalltime()-t1));
);
print;print(strtime(getwalltime()-t0));print;
}quit