zoukankan      html  css  js  c++  java
  • 求质数的方法解析

    质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其它自然数整除的数。换句话说,仅仅有两个正因数(1和自己)的自然数即为素数。

    比1大但不是素数的数称为合数。1和0既非素数也非合数。合数是由若干个质数相乘而得到的。

    所以。质数是合数的基础,没有质数就没有合数。


    求素数的方法有非常多种。最简单的方法是依据素数的定义来求。对于一个自然数N,用大于1小于N的各个自然数都去除一下N。假设都除不尽。则N为素数,否则N为合数。
    可是。假设用素数定义的方法来编制计算机程序。它的效率一定是很低的。当中有很多地方都值得改进。
    第一,对于一个自然数N。仅仅要能被一个非1非自身的数整除,它就肯定不是素数,所以不
    必再用其它的数去除。
    第二,对于N来说,仅仅需用小于N的素数去除就能够了。

    比如。假设N能被15整除,实际
    上就能被3和5整除,假设N不能被3和5整除。那么N也决不会被15整除。


    第三。对于N来说。不必用从2到N一1的全部素数去除,仅仅需用小于等于√N(根号N)的全部素数去除就能够了。这一点能够用反证法来证明:
    假设N是合数,则一定存在大于1小于N的整数d1和d2,使得N=d1×d2。


    假设d1和d2均大于√N,则有:N=d1×d2>√N×√N=N。
    而这是不可能的,所以,d1和d2中必有一个小于或等于√N。

  • 相关阅读:
    ListBox 绑定之-SelectedItem
    tomcat部署web项目的3中方法
    NET 2.0中的字符串比较和方法
    winform WindowsMediaPlayer 属性
    C语言32个关键字解释
    进程间通讯—自定义消息
    常见符号英文表示
    在vs 中运行C程序
    wpf 不是很明白,先记下
    PenTest-log for ging解决方案
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/6761517.html
Copyright © 2011-2022 走看看