如何用java编写程序,找出50~100之间的所有素数

如何用java编写程序,找出50~100之间的所有素数,第1张

public class A {\x0d\\x0d\/\x0d\ @param args\x0d\ /\x0d\public static void main(String[] args) {\x0d\\x0d\for(int i = 50;i boolean isPrime = true;\x0d\for(int j = 2; j if(i % j == 0){\x0d\isPrime = false;\x0d\break;\x0d\}\x0d\}\x0d\\x0d\if(isPrime){\x0d\Systemoutprint(i + ", ");\x0d\}\x0d\}\x0d\}\x0d\\x0d\} \x0d\\x0d\-----------testing\x0d\53, 59, 61, 67, 71, 73, 79, 83, 89, 97,

public class Test {

public static void main(String[] args) {

int i, count = 0;

for(i=2; i<=100; i++){

if(isPrimeNumber(i) == true){

count++;

Systemoutprintf("%6d", i);

if(count%5 == 0){

Systemoutprintln();

}

}

}

//判断一个数是否是素数,若是,返回true,否则返回false

public static boolean isPrimeNumber(int num){

int k = (int) Mathsqrt(num);

if(num == 2){

return true;

for(int i=2; i<=k; i++)

if(num%i == 0)

return false;

return true;

}

}

扩展:

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数

质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn,那么,

是素数或者不是素数。

如果

为素数,则

要大于p1,p2,……,pn,所以它不在那些假设的素数集合中。

如果 为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,……,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。

其他数学家给出了一些不同的证明。欧拉利用黎曼函数证明了全部素数的倒数之和是发散的,恩斯特·库默的证明更为简洁,哈里·弗斯滕伯格则用拓扑学加以证明。

public static void main(String[] args) {

int count = 0;

int sum = 0;

for (int i = 2; i <= 100; i++) {

boolean flag = false;

for (int j = 2; j <= i >> 1; j++) {

if (i % j == 0) {

flag = true;

break;

}

}

if (!flag) {

Systemoutprint(i + " ");

sum += i;

count++;

}

}

Systemoutprintln();

Systemoutprintln("1--100之间的素数(也称质数)的个数 -->"+count);

Systemoutprintln("1--100之间的素数(也称质数)的个数之和 -->"+sum);

}

int sum=0;

Systemoutprintln("1—100内的素数有:");

for(int i=1;i<=100;i++){

    boolean flag=true;

    for(int j=2;j<=i/2;j++){

        if(i%j==0){

            flag=false;

            break;

        }

    }

    if(flag){

        Systemoutprint("\t"+i);

        sum+=i;

    }

}

Systemoutprint("他们的和是:"+sum);

以上就是关于如何用java编写程序,找出50~100之间的所有素数全部的内容,包括:如何用java编写程序,找出50~100之间的所有素数、求一个用java编写的1到100内的素数,并且每行输出5个素数、用java求3到100的素数,初学者,求简单的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9841875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存