Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Mpir.NET;
- using System;
- using System.Collections.Generic;
- namespace MersenneHint
- {
- class Program
- {
- static void Main(string[] args)
- {
- var logFactor = Math.Log10(2);
- foreach (var p in GetPrimes(74000000, 75000000))
- {
- var digits = (int)Math.Floor(p * logFactor) + 1;
- var mpSec = mpz_t.Two.PowerMod(p, mpz_t.Ten.Power(digits - 19391387 + 1)) - 1;
- mpSec = mpSec.Divide(mpz_t.Ten.Power(digits - 19391387 + 1 - 7));
- var mpSecStr = mpSec.ToString();
- if (mpSecStr == "2718281")
- Console.WriteLine(p);
- }
- Console.WriteLine("done");
- Console.ReadLine();
- }
- static IList<int> GetPrimes(int from, int to)
- {
- var primes = new List<int>();
- for (mpz_t i = new mpz_t(from).NextPrimeGMP(); i <= to; i = i.NextPrimeGMP())
- {
- primes.Add((int)i);
- }
- return primes;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement