-
#include
#include
void main()
int m,k,n=0;
for(m=1;m<=100;m=m+2),因為偶數肯定不是素數,所以只需要判斷奇數的情況,並簡化演算法。
k=sqrt(m);sqrt 是開平方。
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>=k+1)
printf("%d",m);
-
如果你根本不在乎效率,你可以這樣寫:
#include
int main(){
int i,j;
for(i=2;i<=100;i++)
for(j=2;j<2;j++)
if(i%j==0) break;
if(i==j) printf("%d",i);
return 0;
-
#include
#include
void main()
int i,j;
for(i=1;i<=100;i++)
for(j=2;j<=sqrt(i);j++)if(i%j==0) 如果 i 能被 j 整除,則 i 不是素數,跳到 lop。
goto lop;
printf("%d",i);
lop:;
-
首先開啟 CodeBlocks 並建立乙個新專案。 專案語言,選擇“c”,就可以編寫乙個程式來確定素數,具體方法是:
1.建立專案後,我們開啟“檔案”。
2.首先是實現輸入埠。
3.輸入埠完成後,下一步就是判斷質數。
4. 首先定義相關變數,這裡 result 用於儲存因子的總和,並使用迴圈遍歷所有可能的因子。
5. 執行for迴圈後,結果中儲存的是素數因子的總和,包括它本身。 下一步是確定 prime+1 是否等於 result。 如果相等,則表示結果是 1+ 數本身,即素數。
6. 編譯並執行它以檢視結果。
筆記:
素數是用在密碼學中,所謂公鑰,就是在編碼的時候,將素數加到要傳輸的資訊中,然後傳送給接收者,接收到這些資訊後,如果沒有接收者擁有的金鑰,那麼解密的過程(實際上是找素數的過程)會因為找素數的過程(分解質因數)而太長, 這樣即使獲得了資訊,也毫無意義。
for 迴圈的定義。
for(變數的初始值; 終止操作條件; 第乙個迴圈 i 的初始值為 0,一直執行到 i=3 停止 i=2,條件仍然滿足,迴圈體仍然執行,每次步長為 1+1 >>>More
main() [主要函式主程式]。
int i,j,k;【定義整數資料 i,j,k】for(i=1; i<=6;i++) 主迴圈,i 從 1 到 6,增加到 1] for(j=1; j<=20-2*i;J++) 子迴圈,J 從 1 到 20-2*i >>>More
這個問題需要了解系統在編譯時會給靜態變數分配記憶體,函式呼叫結束後不會釋放它們占用的記憶體單元,即變數的值是下次函式呼叫時上乙個函式呼叫的值。 >>>More
考慮先將這 100 個數字放在乙個陣列中,一次取乙個隨機位置(第一次為 1-100,第二次為 1-99,..)。將該位置的編號與最後乙個位置的編號交換即可。 >>>More