8.*(編程)輸出n之內的素數

題目:輸入一個整數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 }
相關文章
相關標籤/搜索