重庆分公司,新征程启航

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

求质数个数的java代码 Java求质数

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

Java程序:

创新互联是一家专业提供运河企业网站建设,专注与网站建设、成都网站设计、H5页面制作、小程序制作等业务。10年已为运河众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

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怎么求质数(运用布尔,数组)

/**

* 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求素数代码

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

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

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

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

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

执行结果图:

扩展资料:

实现功能的编程事项:

1、模块化思想。

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

2、注意注释。

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

3、注意参数命名。

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

用Java求100以内的质数

我给的答案是可以你输入的数以内的所有质数

import java.util.Scanner;

public class test2 {

public static void main(String arg[]){

System.out.println("请输入要求除的质数");

Scanner in = new Scanner(System.in);

int num=in.nextInt();

int a=0;

for(int j=num;j1;j--){

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

if(j%i==0){

a++;

}

}

if(a==0){

System.out.println(j+"是质数。");

}

else {

a=0;

}

}

}

}

亲测可用

用JAVA语言求质数

程序如下,希望有所帮助

public class Prime {

//判断质数

public static void isPrime(int num) {

int j = 2;

for (; j = Math.sqrt(num); j++) {

if (num % j == 0) {

System.err.println(num + "不是质数!");

return;

}

}

if (j Math.sqrt(num)) {

System.err.println(num + "是质数!");

return;

}

System.err.println(num + "不是质数!");

return;

}

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.err.println("请输入数字:");

int num = sc.nextInt();//接收输入

isPrime(num);//判断是否为质数

}

}

java程序1到200的质数。代码如下

一个好的算法,要经的起推敲,不要只求结果

import java.util.ArrayList;

import java.util.List;

public class Primes {

public static void main(String[] args) {

// 求素数

ListInteger primes = getPrimes(200);

// 输出结果

for (int i = 0; i  primes.size(); i++) {

Integer prime = primes.get(i);

System.out.printf("%8d", prime);

if (i % 10 == 9) {

System.out.println();

}

}

}

/**

* 求 n 以内的所有素数

*

* @param n

*            范围

*

* @return n 以内的所有素数

*/

private static ListInteger getPrimes(int n) {

ListInteger result = new ArrayListInteger();

result.add(2);

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

if (!divisible(i, result)) {

result.add(i);

}

}

return result;

}

/**

* 判断 n 是否能被整除

*

* @param n

*            要判断的数字

* @param primes

*            包含素数的列表

*

* @return 如果 n 能被 primes 中任何一个整除,则返回 true。

*/

private static boolean divisible(int n, ListInteger primes) {

for (Integer prime : primes) {

if (n % prime == 0) {

return true;

}

}

return false;

}

}


分享文章:求质数个数的java代码 Java求质数
标题URL:http://cqcxhl.com/article/dosospe.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP