如何计算100以内的所有素数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何计算100以内的所有素数?相关的知识,希望对你有一定的参考价值。

100以内的素数素数的规律如下:

1、个位是偶数的只有2;

2、个位是5的只有5;

3、个位是1的有11、31、41、61、71,共5个;

4、个位是3的有3、13、23、43、53、73、83,共7个;

5、个位是7的有7、17、37、47、67、97,共6个;

6、个位是9的有19、29、59、79、89,共5个。

注:个位十位数字相同的除了11外,其它都不是素数。

100以内的素数共25个,如下: 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97


拓展资料:

质数具有许多独特的性质:

(1)质数p的约数只有两个:1和p。

(2)初等数学基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。

(3)质数的个数是无限的。

(4)质数的个数公式是不减函数。

(5)若n为正整数,在之间至少有一个质数。

(6)若n为大于或等于2的正整数,在n到之间至少有一个质数。

(7)若质数p为不超过n()的最大质数,则

(8)所有大于10的质数中,个位数只有1,3,7,9。

素数-百度百科

参考技术A 根据素数的定义来计算,素数的定义,一个正整数只能被1和它自身整除,那么这个数就是素数。判断一个数是不是素数很简单。下面说一下程序原理。
定义变量2从1到100,如果j从1到i,i对j求余运算只有两次满足为零(被1和它自身整除时),那么就可以认为这个数是素数,就可以输出了。
参考技术B

  编程如下:

public class SuShuo
static int k;
public static void main(String[] args)
int i,j;

for(i=1;i<=100;i++)
 for(j=2;j<i;j++)
 
  if(i%j==0)
 //System.out.println(i+"不是素数");
   break;
 
 
 if(i==j)
 
 
 System.out.println(i+"是素数");
 
 



      抓住素数的定义,100以内的素数其实不用计算就可以判断。

  定义:素数就是质数,就是除了1和它本身以外不再有其他的因数。

  最小的素数是2


  100以内的素数素数的规律如下:

  1、个位是偶数的只有2;

  2、个位是5的只有5;

  3、个位是1的有11、31、41、61、71,共5个;

  4、个位是3的有3、13、23、43、53、73、83,共7个;

  5、个位是7的有7、17、37、47、67、97,共6个;

  6、个位是9的有19、29、59、79、89,共5个。


  注:个位十位数字相同的除了11外,其它都不是素数。

  100以内的素数共25个,如下:

  2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97

  口诀如下:

  二,三,五,七,一十一;

  一三,一九,一十七;

  二三,二九,三十七;

  三一,四一,四十七;

  四三,五三,五十九;

  六一,七一,六十七;

  七三,八三,八十九;

  再加七九,九十七;

  25个质数不能少;

  百以内质数心中记。

参考技术C package Test;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test

public static void main(String[] args)
List all = getNum(100);
Iterator it = all.iterator();
while(it.hasNext())
System.out.println(it.next());



/*
* 计算规则: 从2到该数字的一半(如果为奇数则减一再除以2)进行取摩,如果取摩为0,则该数字为素数
* int num 为要计算到的最大值
*/
public static List<Integer> getNum(int num)
//创建集合,用于保存找到的素数
List<Integer> allNum = new ArrayList<Integer>();

//外层循环
a:for(int i=2;i<num;i++)

int temp=0;
if(i%2==0)
temp = i/2;
else
temp = (i-1)/2;


boolean isTrue = true; //如果为素数则为true
for(int x=2;x<=temp;x++)
if(i%x==0)
isTrue = false;
continue a;


if(isTrue)
allNum.add(i);


return allNum;


程序有点凌乱,希望您能看懂,看不懂我再帮你解释
参考技术D public class SuShuo
static int k;
public static void main(String[] args)
int i,j;

for(i=1;i<=100;i++)
for(j=2;j<i;j++)

if(i%j==0)
//System.out.println(i+"不是素数");
break;


if(i==j)


System.out.println(i+"是素数");





本回答被提问者采纳

1到100的质数表

质数表:

分布规律

以36N(N+1)为单位,随着N的增大,素数的个数以波浪形式渐渐增多。

S1区间1——72,有素数18个,孪生素数7对。(2和3不计算在内,最后的数是孪中的也算在前面区间。)

S2区间73——216,有素数27个,孪生素数7对。

S3区间217——432,有素数36个,孪生素数8对。

以上内容参考:百度百科-质数

参考技术A 2、3、5、7 11、13、17、19、41、43、47 23、29、53、59、83、89
百内素数巧记忆,二三五七素数起,

二五八十添三九,三六九十加七一,

一四七十讲友谊,一三七九全配齐,

七七四九九十一,不合规律要注意本回答被提问者和网友采纳
参考技术B 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
百内素数巧记忆,二三五七素数起,

二五八十添三九,三六九十加七一,

一四七十讲友谊,一三七九全配齐,

七七四九九十一,不合规律要注意
N=p1m1+a1=p2m2+a2=......=pkmk+ak 。(1) 其中 p1,p2,.....,pk表示顺序素数2,3,5,,,,,。a≠0。即N不能是2m+0,3m+0,5m+0,...,pkm+0形。若N<P(k+1)的平方 [注:后面的1,2,3,....,k,(k+1)是脚标,由于打印不出来,凡字母后面的数字或者i与k都是脚标] ,则N是一个素数。追问

;‘;’

参考技术C 100以内的质数?
质数就是能被他本身和1整除的数。
有2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,其时不用背。也用不了这么多。
参考技术D 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97

以上是关于如何计算100以内的所有素数?的主要内容,如果未能解决你的问题,请参考以下文章

1到100的质数表

10以内的素数2,3,5,7的和为17。要求计算得出任意正整数n以内的所有素数的和。

python-趣味百题3

用python输出100-200间的素数

N以内的素数计算(Java代码)

用C++编写程序求100以内的所有素数(质素)的和。