首頁>技術>

解題思路:本題採用的演算法是,讓n被i除,如果number能被2~(number-1)之中的任何一個整數整除,則表示number肯定不是素數,不必再繼續被後面的整數除,因此,可以提前結束迴圈。

原始碼演示:

#include<stdio.h>//標頭檔案 int main()//主函式 {  int number,i;//定義變數   printf("請隨機輸入一個數:");//提示語句   scanf("%d",&number);//鍵盤輸入需要判斷的數   for(i=2;i<=number-1;i++)//迴圈從2開始,到這個數的掐前一個數為止   {    if(number%i==0)//如果取餘結果為0     break;  }   if(i<number)  {    printf("%d不是素數",number);  }   else  {    printf("%d是素數",number);  }   return 0; //函式返回值為0 }

編譯執行結果如下:

請隨機輸入一個數:5656不是素數--------------------------------Process exited after 4.465 seconds with return value 0請按任意鍵繼續. . .

讀者需要知道什麼是素數,素數一般指質數,是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。

此題的關鍵是看結束迴圈時i的值是否小於number,如果number能被2~(number-1)之間的一個整數整除,則必然是由break語句導致迴圈提前結束,即i並未達到number的值時,迴圈就終止了。

15
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • C語言 | 求特定規律數的和