C#找梅森素数

C#找梅森素数

梅森素数是由梅森数而来。

所谓梅森数,是指形如2p-1的一类数,其中指数p是素数,常记为Mp 。如果梅森数是素数,就称为梅森素数。比如2^2-1=3,2^3-1=7,2^5-1=31,2^7-1=127,指数P也是素数,同时也用M2,M3,M5,M7表示。

用因式分解法可以证明,若2n-1是素数,则指数n也是素数;反之,当n是素数时,2n-1(即Mp)却未必是素数。前几个较小的梅森数大都是素数,然而梅森数越大,梅森素数也就越难出现。

2008年8月23日,美国加州大学洛杉矶分校的计算机专家史密斯终于发现超过1000万位的梅森素数 。 它有12978189位数,如果用普通字号将这个巨数连续打印下来,它的长度可超过50公里!这一成就被美国的《时代》杂志评为 “2008年度50项最佳发明” 之一,排名在第29位。

2013年1月,美国中央密苏里大学数学教授柯蒂斯·库珀领导的研究小组发现了第48个梅森素数 。[12] 这一发现被英国《新科学家》周刊评为当年自然科学十大突破之一。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;

namespace ConAppPrimeNumber2
{
    //Mersenne prime number 
    //梅森素数的公式2^P-1(用2的幂次方减1表示,其中P也是一个素数)
    //比如2^2-1=3,2^3-1=7,2^5-1=31,2^7-1=127,指数P也是素数
    //同时也用M2,M3,M5,M7表示

    class Program
    {
        static void Main(string[] args)
        {

            System.Diagnostics.Stopwatch s = new Stopwatch();


            PrimeNumber.testPower();
            System.Console.WriteLine();

            s.Reset();
            s.Start();
            PrimeNumber.Find5();
            s.Stop();
            System.Console.WriteLine("Watch Time:{0}m, {1}s, {2}ms", s.Elapsed.Minutes, s.Elapsed.Seconds, s.ElapsedMilliseconds);

            System.Console.WriteLine();

            s.Reset();
            s.Start();
            PrimeNumber.Find6();
            s.Stop();
            System.Console.WriteLine("Watch Time:{0}m, {1}s, {2}ms", s.Elapsed.Minutes, s.Elapsed.Seconds, s.ElapsedMilliseconds);
        }
    }


    public class PrimeNumber
    {
        static int n = 100000;   //查找100(n=100)以内的素数    
        //static int n = 1000000;
        static bool IsPN = false;  //找到素数就设置为true
        static 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值