本文目錄一覽:
- 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);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/158931.html