求1000以內所有素數/合數(之和),java演算法(23行)
阿新 • • 發佈:2019-01-25
這基本上是最簡單的方法了,應該沒有之一了,嘿嘿~
根據素數的定義:只能被1和他本身整除。1不是素數。
寫出下面程式碼,執行正確。
把註釋去掉可以求出1000以內所有素數的和。
class FindAll { //static int sum=0; static void find(int i) { int t=0; for(int k=1;k<=1000;k++) { if(i%k!=0) t++; if(t==998) System.out.println(i); //sum+=i; } } public static void main(String[] args) { for(int i=0;i<=1000;i++) { if(i==1) continue; find(i); } //System.out.println(sum); } }
下面這段程式碼是求合數的程式碼,判斷邏輯為:如果一個數能被至少3個數整出那麼他就是合數。
同樣,把註釋去掉可以求出1000以內所有合數的和。
class FindAll { //static int sum=0; static void find(int i) { int t=0; for(int k=1;k<=1000;k++) { if(i%k==0) t++; if(t==3) { System.out.println(i); //sum+=i; break; } } } public static void main(String[] args) { for(int i=0;i<=1000;i++) { find(i); } //System.out.println(sum); } }