C語言練習之判斷是否為素數

2021-10-03 03:22:36 字數 795 閱讀 9845

**題目要求:**輸入乙個整數n,判斷他是否為素數(質數)

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

**如下:

#include

"stdio.h"

void

main()

if(i

//跳出迴圈後判斷是因為1跳出的迴圈 還是因為2跳出的迴圈。如果是因為1那麼n不是素數;如果是因為2,那麼n是素數

printf

("不是");

else

printf

("是");

}

執行結果:

分析:

這個題中為什麼不在for迴圈中判斷並輸出是否為為素數呢?

1.如果在for迴圈中輸出是否為素數 那麼每迴圈一次就會輸出一次結果,這肯定不是我們想要的

2.遇到1.中的情況我們肯定會想到用break結束迴圈,想一下:(如下為設想的for迴圈部分)

//這部分是錯誤演示

for(i=

2;i1;i++)if

(n%i!=0)

}

如果n=15,迴圈開始 n%2=1,應該輸出「是」,可是15並不是素數,所以結果就不對了。

C語言 判斷是否為素數

include void main else if isprime 1 else else 當輸入的是 1時,結束程式的判斷 while a 1 編寫這個程式的時候遇到了兩個小問題,問題一是 當我單次輸入數字 5 判斷它是否為素數時,結果是正確的 而當我連續輸入數字判斷時,判斷到 5 後結果卻是錯的...

(C語言)判斷n是否為素數

題目 輸入乙個大於3的整數n,判斷它是否為素數。輸出yes no 例如,輸入4,輸出no 輸入7,輸出yes。錯誤輸入,則輸出error。所有輸出沒有回車符號。乙個只能被他自身或者1整除的數稱為素數 這裡還有乙個簡便的方法是 設乙個數m,m 不必被 2 m 1 之間的每乙個整數去除,只需被 2 之間...

C語言入門之判斷是否為質數

c語言永遠不會過時 其實學程式設計關鍵是學習其思想,如果你精通了一門,再去學其他的時候也很容易上手。c不會過時的,尤其是在unix linux操作平台上,學好c是必須的。c跟c 在很多方面也是相容的,c是c 的基礎。再者c能從很大的程度上幫你了解計算機的發展史,資料結構等方面的知識,很多軟體 甚至作...