求十個連續最小自然數,非素數。

H丫丫發表於2020-10-03

求十個最小連續自然合數。

根據c語言改編一下,其實思路都一樣,迴圈找出符合條件的數字。存放到陣列中,最後輸出滿足條件的就好了。一定要明白判斷合數的條件。這裡要注意continue的使用。註釋我已經說的聽明白了,聽不懂的大家多多見諒哈哈哈。
ps:我在csdn找不到java版本的,只有c語言版本,我就直接按照原創釋出了,剛入門,有違規則的請大佬及時告知我,謝謝了。

	public static void main(String[] args) {
		int i,j,h;
		boolean flag;
		int count=0;
		int[] a = new int[10];
		for(i=1;true;i++)    
		    {flag=true;
		        for(j=2; flag&&j<i/2; j+=1)    //判斷能否被從2到整數的一半的某一數所整除
		            if(0==(i%j))    //若能除開,則是合數
		                flag=false;
		        if(flag)    //素數
		        {
		            count=0;//陣列下標
		            continue;//若是素數,陣列將會被新的for迴圈所找到的數字重新賦值
		        }
		        else   //是合數
		        {
		            a[count]=i;
		            count++;
		        }
		        if(10==count)    //已找到連續的十個合數
		            break;    //跳出迴圈,第一次找到的即為最小的十個連續合數
		    }
		    System.out.print("10個連續最小合數分別為:");
		    for(h= 0; h <10; h++)   
		    System.out.print(a[h]+" ");//存到陣列挨個輸出
	}
}

結果:
10個連續最小合數分別為:114 115 116 117 118 119 120 121 122 123

相關文章