您的位置:

java求质数,Java求质数和

本文目录一览:

用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质数怎么求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输入的一个数,求小于等于该数的所有质数(素数).

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求3到100的素数,初学者,求简单的

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) {

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

sum += i;

count++;

}

}

System.out.println();

System.out.println("1--100之间的素数(也称质数)的个数 --"+count);

System.out.println("1--100之间的素数(也称质数)的个数之和 --"+sum);

}