1. 程式人生 > >java常見邏輯練習題求出100內的素數個數,平切打印出當前數是什麼?(素數:只能夠被自己和1整除的數 )

java常見邏輯練習題求出100內的素數個數,平切打印出當前數是什麼?(素數:只能夠被自己和1整除的數 )

題目:求出100內的素數個數,平切打印出當前數是什麼?(素數:只能夠被自己和1整除的數 )

分析:要求100內的素數個數,我們首先要拿到1-100的所有數字,用for迴圈遍歷1-100的所有數字,即:

第一步

for (int i = 1; i < 100; i++) {
{

因為素數是指只能夠被自己和1整除的數,所以我們需要在遍歷一遍2-100之間所有的數,去將拿到的數去除以2-100所以得數去實驗是否為素數,所以在上面的for迴圈內再加上一個for迴圈遍歷2-100的所有數,此迴圈寫到上面for迴圈內,即:

第二步

for (int j = 2; j < 100; j++) {
{

接下來,我們需要去判斷這個數是否可以被除自己以外的數整除,所以可以用if判斷表示式去判斷,判斷式寫到第二個for迴圈內,即:

第三步

if (i != j) {
					if(i%j == 0){
						break ;
					}else{
						continue;
					}
				}
System.out.println(i);	

解釋:如果整除了,就代表此數字不為素數,沒有被整除的話就用continue跳過此次迴圈進行下次迴圈,一直到此迴圈完整結束還沒有跳出即代表此數為素數,將其打印出來

題目還要求我們將素數的個數計算出啦,所以我們可以設一個int sum = 0;來計算,每當出現一個素數就讓其sum++;即可,所以最終的結果為:

結果

public class Demo {
	public static void main(String[] args) {
		int sum = 0;
		for (int i = 1; i < 100; i++) {
			for (int j = 2; j < 100; j++) {
				if (i != j) {
					if(i%j == 0){
						break ;
					}else{
						continue;
					}
				}
			System.out.println(i);	
			sum++;
			}
		}
		System.out.println("素數的個數為:" + sum);
	}
}

控制檯列印的結果為:

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
素數的個數為:25