RosettaCodeData/Task/Prime-decomposition/Phix/prime-decomposition-1.phix
2019-09-12 10:33:56 -07:00

16 lines
458 B
Text

include mpfr.e
atom t0 = time()
mpz z = mpz_init()
for i=1 to 17 do
integer pi = get_prime(i)
mpz_ui_pow_ui(z,2,pi)
mpz_sub_ui(z,z,1)
string zs = mpz_get_str(z),
fs = mpz_factorstring(mpz_prime_factors(z,20000))
if fs!=zs then zs &= " = "&fs end if
printf(1,"2^%d-1 = %s\n",{pi,zs})
end for
string s = "600851475143"
mpz_set_str(z,s)
printf(1,"%s = %s\n",{s,mpz_factorstring(mpz_prime_factors(z,500))})
?elapsed(time()-t0)