JAVA编程:输出1-100之间素数的简单实现
输出1到100之间的素数用JAVA编写
for(inti=1;i<=100;i++){intiii=0;for(intii=2;ii<=100;ii++){if(i%ii==0){iii=iii+1;}}if(iii==1){Console.WriteLine(i.ToString());}}Console.ReadLine();理解这一点的最好方法是intMAX_NUM=100;//Listofmaximajava打印1-100之间的素数<只能用一个for循环>
100内的素数只要不能被10内的素数整除就可以:1000内的素数不能被100内的素数整除publicstaticvoidmain(Stringargs[]){ArrayListlist=newArrayList();for(core=0;i求一个用java编写的1到100内的素数,并且每行输出5个素数
publicclassTest{
publicstaticvoidmain(String[]args){
inti,count=0;for(i=2;i<=100;i++){
if(isPrimeNumber(i)==true){
count++;
System.out.printf("%6d",i);
如果(计数%5==0){
System.out.println();}}}//判断一个数是否为素数。
如果是,则返回true,否则返回falsepublicstaticbooleanisPrimeNumber(intnum){
intk=(int)Math.sqrt(num);if(num==2){
returntrue;for(inti=2;i<=k;i++)
if(num%i==0)
returnfalse;
returntrue;}
引申:
素数也称为素数。
大于1且不能被除1及其本身以外的其他自然数整除的自然数称为素数,否则称为合数。
素数的数量是无限的。
欧几里得的《几何原本》里有一个经典的证明。
它使用一种常见的证明方法:反证法。
具体证明如下:假设素数的个数有限,从小到大依次为p1,p2,...,pn。
假设N=p1×p2×……×pn,则<。
/p>
是质数或非质数。
如果
是质数,那么
必须大于p1、p2、...,pn,所以它不在这些假设的素数集中。
如果是合数,因为任何合数都可以分解为几个素数的乘积,且N和N+1的最大公约数为1,因此不可能不是p1,p2;,...,pn是可整除的,因此合数分解得到的素因数肯定不属于假设的素数集合。
因此,无论该数是素数还是合数,都意味着除了假定的有限个素数之外,还存在其他素数。
因此,最初的假设不成立。
换句话说,素数有无穷多个。
其他数学家给出了有些不同的证明。
欧拉用黎曼函数证明了所有素数的倒数之和发散,恩斯特·库默的证明更加简洁,哈利·福斯滕伯格用拓扑学来证明。