fork download
  1. def getOddPrimesFrom5():
  2. x = 3
  3. p = [3]
  4.  
  5. def isOddNumberPrime(n):
  6. for x in p:
  7. if x * x > n: return True
  8. if n % x == 0: return False
  9.  
  10. while True:
  11. x += 2
  12. if isOddNumberPrime(x):
  13. p.append(x)
  14. yield x
  15.  
  16. def getWith5OddDivs():
  17. x = 3**4
  18. p4m = []
  19.  
  20. for p in getOddPrimesFrom5():
  21. print('Add new prime:', p)
  22. p = p**4
  23. if p < x:
  24. p4m.append(p)
  25. else:
  26. p4m.append(x)
  27. p4m.append(p)
  28. print('Now using array:', p4m)
  29.  
  30. while True:
  31. x = p4m[0]
  32. yield x
  33. x <<= 1
  34.  
  35. for i in range(1, len(p4m)):
  36. if x < p4m[i]:
  37. p4m[i-1] = x
  38. break
  39. p4m[i-1] = p4m[i]
  40. else:
  41. p4m.pop()
  42. break
  43.  
  44. for x in getWith5OddDivs():
  45. print(x)
  46. if x > 50000000: break
Success #stdin #stdout 0.02s 8972KB
stdin
Standard input is empty
stdout
Add new prime: 5
Now using array: [81, 625]
81
162
324
Add new prime: 7
Now using array: [625, 648, 2401]
625
648
1250
Add new prime: 11
Now using array: [1296, 2401, 2500, 14641]
1296
2401
2500
2592
4802
5000
5184
9604
Add new prime: 13
Now using array: [10000, 10368, 14641, 19208, 28561]
10000
10368
14641
Add new prime: 17
Now using array: [19208, 20000, 20736, 28561, 29282, 83521]
19208
20000
20736
28561
29282
38416
40000
41472
57122
Add new prime: 19
Now using array: [58564, 76832, 80000, 82944, 83521, 114244, 130321]
58564
76832
Add new prime: 23
Now using array: [80000, 82944, 83521, 114244, 117128, 130321, 153664, 279841]
80000
82944
83521
114244
117128
130321
153664
Add new prime: 29
Now using array: [160000, 165888, 167042, 228488, 234256, 260642, 279841, 307328, 707281]
160000
165888
167042
228488
234256
260642
279841
307328
320000
331776
334084
456976
Add new prime: 31
Now using array: [468512, 521284, 559682, 614656, 640000, 663552, 668168, 707281, 913952, 923521]
468512
Add new prime: 37
Now using array: [521284, 559682, 614656, 640000, 663552, 668168, 707281, 913952, 923521, 937024, 1874161]
521284
559682
614656
640000
663552
668168
707281
913952
923521
937024
1042568
Add new prime: 41
Now using array: [1119364, 1229312, 1280000, 1327104, 1336336, 1414562, 1827904, 1847042, 1874048, 1874161, 2085136, 2825761]
1119364
1229312
1280000
1327104
1336336
1414562
Add new prime: 43
Now using array: [1827904, 1847042, 1874048, 1874161, 2085136, 2238728, 2458624, 2560000, 2654208, 2672672, 2825761, 2829124, 3418801]
1827904
Add new prime: 47
Now using array: [1847042, 1874048, 1874161, 2085136, 2238728, 2458624, 2560000, 2654208, 2672672, 2825761, 2829124, 3418801, 3655808, 4879681]
1847042
1874048
1874161
2085136
2238728
2458624
Add new prime: 53
Now using array: [2560000, 2654208, 2672672, 2825761, 2829124, 3418801, 3655808, 3694084, 3748096, 3748322, 4170272, 4477456, 4879681, 4917248, 7890481]
2560000
2654208
2672672
2825761
2829124
3418801
3655808
3694084
3748096
3748322
4170272
Add new prime: 59
Now using array: [4477456, 4879681, 4917248, 5120000, 5308416, 5345344, 5651522, 5658248, 6837602, 7311616, 7388168, 7496192, 7496644, 7890481, 8340544, 12117361]
4477456
4879681
4917248
5120000
5308416
5345344
5651522
5658248
6837602
Add new prime: 61
Now using array: [7311616, 7388168, 7496192, 7496644, 7890481, 8340544, 8954912, 9759362, 9834496, 10240000, 10616832, 10690688, 11303044, 11316496, 12117361, 13675204, 13845841]
7311616
Add new prime: 67
Now using array: [7388168, 7496192, 7496644, 7890481, 8340544, 8954912, 9759362, 9834496, 10240000, 10616832, 10690688, 11303044, 11316496, 12117361, 13675204, 13845841, 14623232, 20151121]
7388168
7496192
7496644
7890481
8340544
8954912
9759362
9834496
10240000
Add new prime: 71
Now using array: [10616832, 10690688, 11303044, 11316496, 12117361, 13675204, 13845841, 14623232, 14776336, 14992384, 14993288, 15780962, 16681088, 17909824, 19518724, 19668992, 20151121, 20480000, 25411681]
10616832
10690688
11303044
11316496
12117361
13675204
Add new prime: 73
Now using array: [13845841, 14623232, 14776336, 14992384, 14993288, 15780962, 16681088, 17909824, 19518724, 19668992, 20151121, 20480000, 21233664, 21381376, 22606088, 22632992, 24234722, 25411681, 27350408, 28398241]
13845841
14623232
Add new prime: 79
Now using array: [14776336, 14992384, 14993288, 15780962, 16681088, 17909824, 19518724, 19668992, 20151121, 20480000, 21233664, 21381376, 22606088, 22632992, 24234722, 25411681, 27350408, 27691682, 28398241, 29246464, 38950081]
14776336
14992384
14993288
15780962
16681088
17909824
19518724
Add new prime: 83
Now using array: [19668992, 20151121, 20480000, 21233664, 21381376, 22606088, 22632992, 24234722, 25411681, 27350408, 27691682, 28398241, 29246464, 29552672, 29984768, 29986576, 31561924, 33362176, 35819648, 38950081, 39037448, 47458321]
19668992
20151121
20480000
21233664
21381376
22606088
22632992
24234722
Add new prime: 89
Now using array: [25411681, 27350408, 27691682, 28398241, 29246464, 29552672, 29984768, 29986576, 31561924, 33362176, 35819648, 38950081, 39037448, 39337984, 40302242, 40960000, 42467328, 42762752, 45212176, 45265984, 47458321, 48469444, 62742241]
25411681
27350408
27691682
28398241
29246464
29552672
29984768
29986576
31561924
Add new prime: 97
Now using array: [33362176, 35819648, 38950081, 39037448, 39337984, 40302242, 40960000, 42467328, 42762752, 45212176, 45265984, 47458321, 48469444, 50823362, 54700816, 55383364, 56796482, 58492928, 59105344, 59969536, 59973152, 62742241, 63123848, 88529281]
33362176
35819648
38950081
39037448
39337984
40302242
40960000
42467328
42762752
45212176
Add new prime: 101
Now using array: [45265984, 47458321, 48469444, 50823362, 54700816, 55383364, 56796482, 58492928, 59105344, 59969536, 59973152, 62742241, 63123848, 66724352, 71639296, 77900162, 78074896, 78675968, 80604484, 81920000, 84934656, 85525504, 88529281, 90424352, 104060401]
45265984
47458321
48469444
50823362