189 8069 5689

用java代码求质数,质数Java

java输入的一个数,求小于等于该数的所有质数(素数).

Java程序:

新荣网站建设公司创新互联,新荣网站设计制作,有大型网站制作公司丰富经验。已为新荣上千提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的新荣做网站的公司定做!

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

System.out.print("请输入一个整数:");

int number = scan.nextInt();

PrimeNumber pn = new PrimeNumber();

pn.setNumber(number);

pn.printAll();

}

}

class PrimeNumber {

protected int number;

public void setNumber(int number) {

this.number = number;

}

public int getNumber() {

return this.number;

}

public boolean isPrimeNumber(int number) {

int k = (int)(Math.sqrt(number));

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

if(number % i == 0) {

return false;

}

}

return true;

}

public void printAll() {

for(int i=2; i=number; i++) {

if(isPrimeNumber(i)) {

System.out.println(i);

}

}

}

}

运行测试:

请输入一个整数:100

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

java质数怎么求100-200

public class PrimeNumber {

/**

* 质数,只能被1和自身整除

* @param args

*/

public static void main(String[] args) {

for (int i = 100; i = 200 ; i++) {

/*

标识位:true表示质数,false表示非质数

假定每个数一开始都是质数

*/

boolean flag = true;

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

/*

从2开始除,只要余数为0就表示这个数能被其他数整除

然后将标识位设置为false,然后跳出内层循环执行

*/

if (i % j == 0){

flag = false;

break;

}

}

/*

根据标识位来判定是否是质数,是的话就输出

*/

if(flag){

System.out.println("质数:" + i);

}

}

}

}

java求素数代码

求1-N以内的所有素数,实现思路如下:

1、 得到1到n之间的素数,存到一个ArrayList集合。

2、判断一个数是不是素数:只能被1和本身整除

说明:从2开始除,不需要到n,也就是循环条件是 n 就可以,这之间只要被整除了,那么他就不是素数了。

3、设置主函数,运行 getPrimeNumberToN获取限定范围内的素数。 

执行结果图:

扩展资料:

实现功能的编程事项:

1、模块化思想。

先拆分需求,先拆分先考虑怎么确定一个数是不是素数,然后再复用到所有。不能把方法堆到一起,否则无法复用代码。

2、注意注释。

就算是自己的测试代码,尽量写清楚注释,这样即使过了三个月,再看代码,也能清晰明了。不要觉得简单,就懒得注释。

3、注意参数命名。

从类名到方法名,再到变量名,都不能随意取名,关于这个命名,不要嫌弃长,重点是意思清楚明白。见名知意(语义化),是最好的。

java怎么求质数(运用布尔,数组)

/**

* 0-100:是:101个数字,不是100个;

* 0与1,不是质数也不是合数:

* 以下代码写的有点冗余:只因为题目要求,布尔数组要参与运算!

* 其实一个循环就可以解决的事!

*/

public class Prime {

public static void main(String[] args) {

int arr[]=new int[101],count=0;//元素数组!

boolean[] brr=new boolean[101];//标记数组!

for(int i=0;iarr.length;i++) //循环复制!

arr[i]=i;

f:for (int i = 0; iarr.length; i++) {//判断!

if(i2)continue f;//跳过,0,1;

for(int tem=i;tem--!=2;) 

if(i%tem==0) 

continue f;

brr[i]=true;//标记

}

for (int i = 0; i  brr.length; i++) {//查看!

if(brr[i]!=false) {

count++;

System.out.print(arr[i]+" ");

}

}

System.out.println("\r\n0-100质数共:"+count+"个!");

}

}

用Java语言编程,求解大于2的第101个质数

1、质数,也叫素数,除了1和它本身以外不再有其他因数。

2、所有的质数,除了2,其它一定都是奇数。

具体实现:

public class PrimeTest {

public boolean isPrime(long num) {

if (num == 2) {

return true;

}

if ((num  1) == 0) {

return false;

}

// 循环次数

double centerNum = Math.sqrt(num);

for (int i = 3; i = centerNum; i += 2) {

if (num % i == 0) {

return false;

}

}

return true;

}

public static void main(String[] args) {

long start = System.currentTimeMillis();

PrimeTest primeTest = new PrimeTest();

int index = 10100;

int sum = 0; // 质数的数量

int number = 3; //

while (true) {

if (primeTest.isPrime(number)) {

sum++;

}

if (sum == index) {

break;

} else {

number += 2; // 因为i是从3开始的,每次+2就能忽略偶数。

}

}

System.out.println("大于2的第" + sum + "个质数" + (number));

System.out.println("消耗时间:" + (System.currentTimeMillis() - start));

}

}

运行结果:


新闻名称:用java代码求质数,质数Java
标题来源:http://cdxtjz.com/article/hcghcj.html

其他资讯