本文目录一览:
- 1、用java程序求出1到10000之间质数的和,并说出为什么要这样编写。
- 2、java质数怎么求100-200
- 3、java输入的一个数,求小于等于该数的所有质数(素数).
- 4、用java求3到100的素数,初学者,求简单的
用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);
}