C 求解 100 以內的所有素數並輸出它們

發布 科技 2024-02-29
4個回答
  1. 匿名使用者2024-02-06

    #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);

  2. 匿名使用者2024-02-05

    如果你根本不在乎效率,你可以這樣寫:

    #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;

  3. 匿名使用者2024-02-04

    #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:;

  4. 匿名使用者2024-02-03

    首先開啟 CodeBlocks 並建立乙個新專案。 專案語言,選擇“c”,就可以編寫乙個程式來確定素數,具體方法是:

    1.建立專案後,我們開啟“檔案”。

    2.首先是實現輸入埠。

    3.輸入埠完成後,下一步就是判斷質數。

    4. 首先定義相關變數,這裡 result 用於儲存因子的總和,並使用迴圈遍歷所有可能的因子。

    5. 執行for迴圈後,結果中儲存的是素數因子的總和,包括它本身。 下一步是確定 prime+1 是否等於 result。 如果相等,則表示結果是 1+ 數本身,即素數。

    6. 編譯並執行它以檢視結果。

    筆記:

    素數是用在密碼學中,所謂公鑰,就是在編碼的時候,將素數加到要傳輸的資訊中,然後傳送給接收者,接收到這些資訊後,如果沒有接收者擁有的金鑰,那麼解密的過程(實際上是找素數的過程)會因為找素數的過程(分解質因數)而太長, 這樣即使獲得了資訊,也毫無意義。

相關回答
16個回答2024-02-29

for 迴圈的定義。

for(變數的初始值; 終止操作條件; 第乙個迴圈 i 的初始值為 0,一直執行到 i=3 停止 i=2,條件仍然滿足,迴圈體仍然執行,每次步長為 1+1 >>>More

10個回答2024-02-29

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

12個回答2024-02-29

這個問題需要了解系統在編譯時會給靜態變數分配記憶體,函式呼叫結束後不會釋放它們占用的記憶體單元,即變數的值是下次函式呼叫時上乙個函式呼叫的值。 >>>More

5個回答2024-02-29

考慮先將這 100 個數字放在乙個陣列中,一次取乙個隨機位置(第一次為 1-100,第二次為 1-99,..)。將該位置的編號與最後乙個位置的編號交換即可。 >>>More

4個回答2024-02-29

我想寫給你! 可惜我下班了,呵呵。