關於求乙個數是不是質數的程式,改錯。是在tubro C2 0執行的

2025-05-07 13:50:05 字數 3239 閱讀 9454

1樓:網友

程式的錯誤和警告幫磨鎮你改簡遊鏈好了,沒有攔孫驗證你程式:

#include ""

#include ""

int main()

int a=1,i=1,x=1;

scanf("%d",&a);

while(i==a-1)

i=i+1;

x=a%i;

if(x==0)

printf("no");

continue;

elseprintf("yes");

2樓:網友

int main()

int a,x,i=1;

scanf("%d",&a);

while(i

原程式邏輯有問題,光改語法不能實現,對邏輯進行了修改,還有a輸入必須大於1,如果等於1會輸出yes,而1既不是素數也不是合數,小於等於0的不討論。

3樓:匿名使用者

錯誤太多了 首先是 while(i==a-1) 這一句應該改為 while(i還有 中間**好讓有邏此櫻輯錯誤。

我寫乙個簡單的。

int main()

int a=1,i=1,x=1;

scanf("%d",&a);

while(ii=i+1;

if(a%i==0)

x=0;break;

if(x==0)

printf("no");

else printf("森襪叢yes");

return 0;

素數程式改錯

4樓:波波羅克羅伊斯

#include

#include/*要包含才能用sqrt求開方*/int pdss (int m);

void main()

int pdss (int m)

else }

c++:尋找素數的小程式 改錯

5樓:徐章林

1全部首先,你這個不是求素數,是奇數,給你改了。還有,輸入函式的位置應該不應該在迴圈裡面是要請注意的,你之所以會輸入n個相等的數,就是把輸出位置放錯了,我覺得書寫的格式也要注意,因為這樣可以使你的程式更加清析易讀,也容易找到錯誤。

#include

int main()

if(flag==1)

std::cout<} return 0;}

幫我這個100內素數程式改錯

6樓:網友

if(b==a-1)printf("%d,",a); 改成a 因為你前面b++做過了。

c++程式改錯(輸入乙個數,找出小於它的所有素數)

7樓:網友

for(j>1;j1不是初始化,應該改成j=1

三個不同的質數之積恰好是他們和的17倍,求這三個質數。 (詳細過程)

8樓:風遙天下

這3個數是: 2,17,19

我是這麼算的:首先x*y*z=17(x+y+z)即就是: x*y*z/17是乙個整數,因為質數只能被它本身整除。所以三個數中有乙個是17

就有x+y+17=x*y

一種方法是:

知道從2開始的質數是,2,3,5,7,11,13,17,19,23……

嘗試著帶就可以了。

結果是:2*17*19=17*(2+17+19)還有一種是:(補上)

將 x+y+17=x*y 化簡可得。

x=(y+17)/(y-1)

分析等號右邊的分數,我們知道,y值越大,則分母和分子的比值越小,越趨近於1,但永遠不等於1,所以我們取x=2,帶進去算得y剛好等於19

符合我們的條件:三個數都是質數。ok

還有:質數是隻能被本身和1整除的自然數。

9樓:凌誠出溪

由於是質數,所以xyz中有乙個是17的倍數必為17設x=17,代入得到17+y+z=yz

移項得到:(y-1)(z-1)=18

所以有y=2,z=19為唯一解。

綜上得到這三個數為2,17,19

這樣可以了嗎?

10樓:陰陽雙鋒劍

很簡單 設三個數a,b,c

有abc=17(a+b+c)

abc的質因數為a,b,c 而17有是abc的質因數不妨設a=17 則有bc=17+b+c

即(b-1)(c-1)=18

則18=1*18=2*9=3*6 經檢驗 b=2,c=19符合那麼這三個數就是2,17,19

c語言求素數程式改錯

11樓:濮方雅

稍微改了下,可能罩拿空可讀性會好一些,以下**供參考:

#include 《物瞎》

判斷敏畝素數*/

int isprime (int m)

int i;

if (m ==2) return 1;

if (m ==1 ||m % 2 ==0) return 0;

for (i = 3; i * i <=m;)if (m % i ==0) return 0;

i +=2;

return 1;

int main()

int i,j,n;

for(n=10001;n<20000;n++)for(i=2;i*iprintf("%d = d * d ",n,i,n/i);

break;

return 0;

三個質數的倒數的和是231分之131,求這三個質數,要過程帶算理

12樓:網友

三個質數的倒數相加必然要通分,所以先看看分母。

所以必然是這三個質數的倒數的和,因為是其他質數的話就會反映在分母上。驗證後,果然等譯131/231。

13樓:網友

231=3×7×11;

所以分別是3,7,11

您好,很高興為您解答,skyhunter002為您答疑解惑如果本題有什麼不明白可以追問,如果滿意記得采納如果有其他問題請採納本題後另發點選向我求助,答題不易,請諒解,謝謝。

祝學習進步。

14樓:網友

231=3x7x11

所以可得這三個質數為和11

判斷數是不是質數的演算法,流程圖,判斷一個數是不是質數的演算法,流程圖

兩個演算法 1。輸入一個數n flag 0 for int i 2 i for int j 2 j if flag 0 printf 是質數 2.輸入一個數n flag 0 for int i 2 i if int n i n i int n i 1 printf 不是質數 flag 1 break...

判斷數是否是質數判斷一個數是否是質數

根據質數的定義,在判斷一個數n是否是質數時,只要用1至n 1去除n,看看能否整除即可。還有更好的辦法 先找一個數m,使m的平方大於n,再用小於等於m的質數去除n n為被除數 如果都不能整除,則n必然是質數。如我們要判斷1993是不是質數,50 50 1993,那麼只要用1993除以 50的質數看是否...

c 判斷數是否為質數,C 判斷一個數是否為質數

方法一 將m被 2 m 1 之間的每一個整數去除,如果都不能被整除,所以m是一個質數。方法二 將m被 2 m之間的每一個整數去除。如果m不能被 2 m 間任一整數整除,m必定是質數。兩段 的輸出結果相同。輸入一個整數 1 所以1是質數。輸入一個整數 97 所以97是質數。輸入一個整數 10 所以10...