題目:輸入一個整數n,輸出0~n之間的因此素數(每一個佔一行)spa
解題思路:會用到取餘符號%,覺得咱們要用餘數來做判斷!code
假如i是素數,則i不能整除2~i之間的全部數,定義一個變量j,取 2~i之間全部值。若是中間的數都不能除盡,blog
那麼一塊兒循環到最後一次j變成i時,i%j==i%i==0 這個時候i==j ,i就必定是素數。若是在j=0~i的循環中途io
就出現i%j==0,說明i必定不是素數.class
1 #include <stdio.h> 2 int main() 3 { 4 int N,i,j; 5 scanf("%d",&N); 6 for(i=2; i<=N; i++) //遍歷2~N之間的全部數 7 { 8 for(j=2; j<=i; j++) //j至關於0~i之間的全部數,i%若是除0~i之間的全部數都都不能除盡,那麼i是素數。 9 { //i%j==0說明i能整除j 當i和j相等時,那麼i%j必須爲0 10 if(i%j==0&&i!=j) //若是j不是在最後一個i=j的狀況下i%j==0,說明在j在取0~i的某個值時,i能將其整除,所以i確定不是素數。 11 break; 12 if(i%j==0&&i==j) //說明i%(0~i之間)都不能除盡,只有最後i==j的狀況下才能除盡,此時已經把全部數都判斷完了,i是素數 13 printf("%d\n",i); 14 } 15 } 16 return 0; 17 }