Data update

This commit is contained in:
Ingy döt Net 2024-07-13 15:19:22 -07:00
parent 29a5eea0d4
commit 5c1bb7bfa9
2011 changed files with 35081 additions and 3229 deletions

View file

@ -1,28 +1,29 @@
val .fermat = fn(.i) 2 ^ 2 ^ .i + 1
val fermat = fn i: 2 ^ 2 ^ i + 1
val sz = '\u2080' # small zero code point
val .factors = fn(var .x) {
for[.f=[]] .i, .s = 2, trunc .x ^/ 2; .i < .s; .i += 1 {
if .x div .i {
.f ~= [.i]
.x \= .i
.s = trunc .x ^/ 2
val factors = fn(var x) {
for[f=[]] i, s = 2, trunc(x ^/ 2); i < s; i += 1 {
if x div i {
f ~= [i]
x \= i
s = trunc(x ^/ 2)
}
} ~ [.x]
} ~ [x]
}
writeln "first 10 Fermat numbers"
for .i in 0..9 {
writeln $"F\(.i + 16x2080:cp) = \(.fermat(.i))"
for i in 0..9 {
writeln "F{{i + sz:cp}} = {{fermat(i)}}"
}
writeln()
writeln "factors of first few Fermat numbers"
for .i in 0..9 {
val .ferm = .fermat(.i)
val .fac = .factors(.ferm)
if len(.fac) == 1 {
writeln $"F\(.i + 16x2080:cp) is prime"
for i in 0..9 {
val ferm = fermat(i)
val fac = factors(ferm)
if len(fac) == 1 {
writeln "F{{i + sz:cp}} is prime"
} else {
writeln $"F\(.i + 16x2080:cp) factors: ", .fac
writeln "F{{i + sz:cp}} factors: {{fac}}"
}
}