今天去**面试碰到的一道题,当场没做出来,回来搜了一下,终于知道证法了。。(后面的图形学题目都没做出来,估计挂了 %>_<%)

网上搜了一下才知道这叫梅森质数,详情请猛击这里。

“2^n - 1是质数”是“n是质数”的充分非必要条件,即“n是质数”并不能推得“2^n - 1是质数”,例如:2^11 – 1 = 23 * 89。

所以证法如下:

设n = ab,即n是一个非质数(合数,1 < a < n), a b是正整数,则有2^ab – 1 = (2^a – 1)(2^a(b-1) + 2^a(b-2) + … + 2^a + 1),那么2^n - 1是一个非质数(合数),因为(2^n – 1) / (2^a – 1) > 1。所以“n是非质数”能推出“2^n - 1也是非质数”,即“n不是质数”是“2^n - 1不是质数”的一个充分非必要条件,其逆反命题也是真命题,即“2^n - 1是质数,则n是质数”。证毕。

扩展,如果a^n - 1是一个质数,且a n是一个大于1的正整数,则a = 2,n是质数。

转载于:https://www.cnblogs.com/keokeo/archive/2010/04/09/1708559.html

梅森质数(2^n - 1是质数,则n是质数)的证明相关推荐

  1. python判断质数的函数并输出_1024程序员节,说质数与哥德巴赫猜想(下)

    Python数学编程第1讲 2020.10.24 回顾上节练习 据说数学王子高斯小时候,数学老师曾让他们计算1+2+3+4+5+6+--+100的得数,同学们都忙着挨个挨个地相加,只有高斯巧妙发现了快 ...

  2. 相约2008:2008是一个合数,求出此合数最多由多少个最小不同质数和组成, 并按要求从小到大输出这些质数

    提示: 代码存在问题,这里找出 2008 最多由多少个不同的质数和组成,原先的思路是从最小开始入数组,直到总和大于2008,然后开始剔除,但是这种方法不对 这里为了方便考虑,可以试着将 2008 替换 ...

  3. oracle质数怎么算,借花献佛之使用Oracle sql求质数(笔记)

    首先声明一点,文章内容从itpub论坛上看到的,原文链接外链网址已屏蔽,本文主要是记录下笔记,原文中有更详细的分析.使用sql求质素没什么实用价值,重要的是思路. (一)最简单的方法 思路:将2和所有 ...

  4. Linux质数合数的脚本,python输出100以内的质数与合数实例代码

    python输出100以内的质数与合数实例代码 具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for ...

  5. java 多线程统计质数,Java 七 多线程计算某个范围内的质数

    Java 7 多线程计算某个范围内的质数 不多说了,看代码 通用类 package java7.concurrency.math; /** * This class generates prime n ...

  6. 反质数问题,求不大于n的最大反质数

    反质数:设f(n)表示n个约数的个数,如果对于任意x有0<x<n, f(x) < f(n),那么n就是一个反质数我们都知道对于任意一个数n,都可以用质数乘积的形式表示出来:x = p ...

  7. 已知两个质数乘积n,求较大的那个质数

    题目描述 已知正整数n是两个不同的质数的乘积,试求出较大的那个质数. 思路 从n-1开始尝试能不能被n整除,能被整除的就是较大的那个质数. #include<iostream> using ...

  8. 关于我求是不是质数的一个错误,输入9判断是质数的原因

    左图错误,右图正确. /* 看if,9%2!=0,然后就直接else了,if和else都在for循环内,所以会先让i=2,执行if语句,若不对就执行else,这样的结果就是始终只对2做判断, 想要改对 ...

  9. java输出1000以内质数_用java输出1000以内所有的质数,每行还必须只有8 个!

    哈喽大家好,这里是java小白成长记! 昨天分享了用java怎么判断一个数是不是质数,看完是不是觉得也并不是很难,今天分享怎么输出1000以内的所有质数,而且每行只有8个数字. 首先判断数字的代码就不 ...

  10. (编写两个线程第一个计算2-10万的质数,第二个10万-20万的质数)

    public class Main3 extends Thread{int i,j,x=0;Main3(int m,int n){this.i = m;this.j = n;}public void ...

最新文章

  1. 1062 Talent and Virtue
  2. OpenAI Gym介绍
  3. jaxb_使用JAXB时
  4. java数组的clone方法_深入浅出,如何更彻底地理解Java数组的clone方法
  5. arcgis-“一个或多个已经添加图层的范围与关联空间参考不一致”“Arcmap不能绘制一个或者多个图层”
  6. 学习SOX(1) 在VC中编译
  7. SAP Spartacus 的 CSS 架构
  8. 转:IDEA 创建类注释模板和方法注释模板
  9. 传球游戏(洛谷-P1057)
  10. 简单地理解 Python 的装饰器
  11. 快速排序多种方法代码Python
  12. 数组指针和指针数组的区别(转)
  13. 公钥私钥的使用和数字签名原理
  14. easyui导出excel科学计数法问题解决方法
  15. 寒江独钓windows 内核安全编程学习笔记(双机调试)
  16. JAVA_数字转大写
  17. 想成为挣钱的游戏程序员要经历多少阶段?
  18. android麦克风被禁用怎么办,为什么微信麦克风被禁用?如何开启?
  19. Vuex前端saas人力资源中台管理项目第四天 员工管理模块
  20. 华为认证HCIA-Datacom知识点

热门文章

  1. 向jupyter notebook插入图片并控制大小和对齐方式
  2. c语言while循环作用,c语言中while循环的用法
  3. html文本框颜色填充颜色设置,Excel2007中设置文本框填充方案 文本框填充颜色
  4. python url转码_URL转码,encodeURI,encodeURIComponent — 在线工具
  5. 小学生怎么做PPT?
  6. 裁判文书网文书数据采集
  7. c语言高斯法解方程,用C语言实现解线性方程组的高斯消去法
  8. 微信公众号跳转微信小程序,自定义微信跳转标签
  9. Python+企业微信 实现简易自动化运维
  10. 2022-Java学习路线梳理