public class Test {
专注于为中小企业提供网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业尼玛免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
public static void main(String[] args) {
int i, count = 0;
for(i=2; i=100; i++){
if(isPrimeNumber(i) == true){
count++;
System.out.printf("%6d", i);
if(count%5 == 0){
System.out.println();
}
}
}
//判断一个数是否是素数,若是,返回true,否则返回false
public static boolean isPrimeNumber(int num){
int k = (int) Math.sqrt(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整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。
其他数学家给出了一些不同的证明。欧拉利用黎曼函数证明了全部素数的倒数之和是发散的,恩斯特·库默的证明更为简洁,哈里·弗斯滕伯格则用拓扑学加以证明。
for(int i =2;i=100;i++)
{
flag=true ; //每次都要有这个初值,如果不是,则flag会变成false
for(int j=2;ji;j++)
{
if(i%j==0)
{
flag =false;
break;
}
}
if(flag)
{
icount++;
System.out.println(i+"是素数!");
}
}
public class HelloWorld {
public static void main(String[] args) {
System.out.println("请输入一个正整数n");
Scanner input = new Scanner(System.in);
int n = input.nextInt();
for (int i = 2; i = n; i++) // 1不是素数,所以直接从2开始循环
{
int j = 2;
while (i % j != 0) {
j++; // 测试2至i的数字是否能被i整除,如不能就自加
}
if (j == i)
//当有被整除的数字时,判断它是不是自身,若是,则说明是素数
{
System.out.println(i); // 如果是就打印出数字
}
}
}
}
楼主的程序略有误,下为修改后的代码
public class Test {
public static void main(String[] args) {
int i =1,j =2;
for(i=1;i=100;i++) {
for(j=2;j=i;j++){
//素数是指除了1和自身外不能被任何数整除的数
//因此遍历每一个小于i大于2的整数j
if(i%j==0)
//如果i能够被j整除
if(i==j)
//如果当i等于j的时候则满足i是素数的条件,即只能被1(
//j是从2计数的)和自身整除,因此i是素数
System.out.println(i +"是素数");
else
//在如果存在一个小于i大于2的整数j可以整除i,则i必不是
//素数,因此break操作.
break;//如果i可以被j整除且j不等于i,则跳出循环
}
}
}
}
亲测可用..
判断素数方法,你供参考,代码如下:
public class SuNum {
public static void main(String[] args) {
if(getResult(4)){
System.out.println("素数");
}else{
System.out.println("非素数");
}
}
public static boolean getResult(int num) {
boolean isPrime = true; // 定义布尔变量判断是否素数.是:true;否:false
int k = (int) Math.sqrt(num);
for (int j = 2; j = k; j++) {
if (num % j == 0) {
isPrime = false; // 如果能够有数整除num,那么就不是素数.
}
}
if (isPrime) {
isPrime = true;
}
return isPrime;
}
}
满意请采纳!
加一个flag吧。
public class Prime03 {
public static void main(String[] args){
System.out.println("该程序是求6后面的一个素数");
int i;
int j;
for(i=6;;i++){
boolean flag = true;
for(j=2;j=i/2;j++){
if(i%j==0){
flag = false;
break;
}else if(i%j!=0){
continue;
}else{
break;
}
}
if(flag) {
System.out.println(i);
break;
}
}
}
}
网站栏目:java中素数代码 素数java语言程序编写
本文链接:https://www.cdcxhl.com/article40/dosdjho.html
成都网站建设公司_创新互联,为您提供外贸网站建设、手机网站建设、微信公众号、营销型网站建设、做网站、网站改版
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联