用Java求1-100的素數(shù)
原理:
素數(shù):一個大于1的自然數(shù),除了1和它自身外,不能被其他自然數(shù)整除的數(shù),最小的素數(shù)是2。
所以我們判斷一個數(shù)n是不是素數(shù),只要用n對2到n里的數(shù)求余不為0就可以了,所以簡單的循環(huán)就可以判斷是不是素數(shù)。
代碼:
public class Sushu {
public static void main(String[] args) {
int i,j;//i用來循環(huán)2-100,j用來循環(huán)2-i
int k=0;//統(tǒng)計有多少素數(shù)
for(i=2;i<=100;i++){
boolean t=true;//定義一個布爾類型判斷是否為素數(shù)
for(j=2;j<i;j++) {
if(i%j!=0)
continue;//如果求余不為0,則繼續(xù),直到循環(huán)結(jié)束否則直接結(jié)束循環(huán),繼續(xù)判斷下一個數(shù)
else {
t = false;//不是素數(shù),結(jié)束循環(huán)
break;
}
}
if(t) {//如果是素數(shù),t=ture,用K統(tǒng)計個數(shù),把i打印出來
k++;
System.out.println(i);
}
}
System.out.println("有素數(shù)"+k+"個");
}
}
代碼圖片:
代碼圖片
總結(jié):
- 關(guān)鍵是要判斷了一個素數(shù)后,怎么把素數(shù)輸出出來,這里我們用一個布爾類型的變量。還有一種思路是判斷是非素數(shù)后,賦值為false,跳出循環(huán),原理都是一樣,可以試著寫寫看