新网创想网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

用java编写质数的代码 用java编写质数的代码是什么

如何编写一个求质数的JAVA简单程序

呵呵,求质数首先要知道它在数学上的定义,即除了1和其本身之外,不被任何数整除.

创新互联专业为企业提供兴平网站建设、兴平做网站、兴平网站设计、兴平网站制作等企业网站建设、网页设计与制作、兴平企业网站模板建站服务,10多年兴平做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

既然知道这个定义了,你还怕什么,照它的定义来就得了..

首先找2到这个数之间的数能否把这个数整除,如果有,就不是质数,没有,则就是质数了.

有根据数学上质数有关的一些原理,其实只需要判断2到其平方根之间的数能否把这个数整除就行了..

则用JAVA只需要解决4个问题

1接受输入

2求平方根

3循环判断

4输出

下面是程序代码:

import java.util.Scanner;

class Prime

{

int num; // 接受存放输入的数字

void inputNum()

{

Scanner sr = new Scanner(System.in);

if(sr.hasNextInt())

num = sr.nextInt();

}

void calcAndOutput()

{

for(int i=2;inum;i++)

{

int j;

int sqr = (int)Math.sqrt(i);

for(j=2;j=sqr;j++)

if(i%j==0) break;

if(jsqr)

{

System.out.print(i + " ");

}

}

System.out.println();

}

public static void main(String args[])

{

Prime p = new Prime();

p.inputNum();

p.calcAndOutput();

}

}

其实,建议去下个JDK帮助文档

用java程序求出1到10000之间质数的和,并说出为什么要这样编写。

因为质数是一个正整数不能被除了1和自身以外的数整除,就叫做质数(1不是质数)

所以根据定义从2到10000,每个数除以2到其自身减1的数,如果能被整除(等于0)则不是质数,否则就是质数

完整的Java程序如下(每句都加了注释)

public class SuShuHe{

public static void main(String[] args){

int sum=0,j;//定义整型变量j,整型变量sum用于存放质数和,并赋sum初值0

for(int i=2;i=10000;i++){//for_i循环从2到10000

for(j=2;ji;j++) //for_j循环从2到i-1

if(i%j==0)//判断i是否能被j整除(余数等于0)

break;//如果能跳出for_j循环

if(i==j){ //如果没有跳出for_j循环,那么for_j循环执行完时,j等于i,那么i就是质数

sum=sum+i;//把质数加到求质数和的变量sum中

}

}

System.out.println("10000以内所有质数之和为:"+sum);//输出10000以内所有质数和

}

}

java 如何输出1到100间的质数

参考代码如下:

package test;

public class Test {

public static void main(String[] args) {

int j;

for (int i = 2; i = 100; i++) // 1不是素数,所以直接从2开始循环

{

j = 2;

while (i % j != 0)

j++; // 测试2至i的数字是否能被i整除,如不能就自加

if (j == i) // 当有被整除的数字时,判断它是不是自身

System.out.println(i); // 如果是就打印出数字

}

}

}

扩展资料:

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

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。


网页标题:用java编写质数的代码 用java编写质数的代码是什么
链接URL:http://wjwzjz.com/article/ddgecii.html
在线咨询
服务热线
服务热线:028-86922220
TOP