19 lines
318 B
Text
19 lines
318 B
Text
func fermat_number(n) {
|
|
2**(2**n) + 1
|
|
}
|
|
|
|
func fermat_one_factor(n) {
|
|
fermat_number(n).ecm_factor
|
|
}
|
|
|
|
for n in (0..9) {
|
|
say "F_#{n} = #{fermat_number(n)}"
|
|
}
|
|
|
|
say ''
|
|
|
|
for n in (0..13) {
|
|
var f = fermat_one_factor(n)
|
|
say ("F_#{n} = ", join(' * ', f.shift,
|
|
f.map { <C P>[.is_prime] + .len }...))
|
|
}
|