Data update

This commit is contained in:
Ingy döt Net 2026-02-01 16:33:20 -08:00
parent 5150844a7d
commit 4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions

View file

@ -1,47 +1,33 @@
fastfunc isprim num .
if num mod 2 = 0
if num = 2
return 1
.
return 0
.
if num < 2 : return 0
if num mod 2 = 0 and num > 2 : return 0
i = 3
while i <= sqrt num
if num mod i = 0
return 0
.
if num mod i = 0 : return 0
i += 2
.
return 1
.
fastfunc mod2x3x n .
while n mod 2 = 0
n /= 2
.
while n mod 3 = 0
n /= 3
.
while n mod 2 = 0 : n /= 2
while n mod 3 = 0 : n /= 3
return n
.
i = 2
cnt = 1
write 2 & " "
while cnt < 50
if mod2x3x i = 1 and isprim (i + 1) = 1
cnt += 1
write i + 1 & " "
fastfunc next i offs .
repeat
i += 1
until mod2x3x i = 1 and isprim (i + offs) = 1
.
i += 2
return i
.
print ""
print ""
i = 4
write 2 & " "
cnt = 1
while cnt < 50
if mod2x3x i = 1 and isprim (i - 1) = 1
proc show50 offs .
while cnt < 50
i = next i offs
cnt += 1
write i - 1 & " "
write i + offs & " "
.
i += 2
print ""
print ""
.
show50 1
show50 -1

View file

@ -1,22 +1,19 @@
import random
from random import randrange
# Copied from https://rosettacode.org/wiki/Miller-Rabin_primality_test#Python
def is_Prime(n):
def is_Prime(n: int):
"""
Miller-Rabin primality test.
A return value of False means n is certainly not prime. A return value of
True means n is very likely a prime.
"""
if n!=int(n):
return False
n=int(n)
#Miller-Rabin test for prime
if n==0 or n==1 or n==4 or n==6 or n==8 or n==9:
#Miller-Rabin test for primes
if n in [2,3,5,7]:
return True
elif n<10:
return False
if n==2 or n==3 or n==5 or n==7:
return True
s = 0
d = n-1
while d%2==0:
@ -33,7 +30,7 @@ def is_Prime(n):
return True
for i in range(8):#number of trials
a = random.randrange(2, n)
a = randrange(2, n)
if trial_composite(a):
return False
@ -63,15 +60,11 @@ def main():
print("First 50 Pierpont primes of the first kind:")
pp = pierpont(120, 80, True)
for i in range(50):
print("%8d " % pp[i], end="")
if (i - 9) % 10 == 0:
print("")
print("%8d " % pp[i], "\n"*((i - 9) % 10 == 0), end="")
print("First 50 Pierpont primes of the second kind:")
pp2 = pierpont(120, 80, False)
for i in range(50):
print ("%8d " % pp2[i], end="")
if (i - 9) % 10 == 0:
print("")
print("%8d " % pp2[i], "\n"*((i - 9) % 10 == 0), end="")
print("250th Pierpont prime of the first kind:", pp[249])
print("250th Pierpont prime of the second kind:", pp2[249])

View file

@ -1,5 +1,5 @@
-- 28 Jul 2025
include Settings
-- 24 Aug 2025
include Setting
numeric digits 40
call Time('r')

View file

@ -1,5 +1,5 @@
-- 28 Jul 2025
include Settings
-- 24 Aug 2025
include Setting
numeric digits 40
call Time('r')