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)