偶數分解 c語言 5,偶數分解 c語言

2025-02-04 12:30:06 字數 3343 閱讀 7326

偶數分解 c語言

1樓:網友

這個是改過之後的。

#include

bool iszhishu(int a)//判斷是否是質數。

int i;

int count=0;

for (i=2;i<=a/2;i++)

if(a%i==0)

count++;

break;

if(count==0)

return true;

elsereturn false;

int main( )

int num;

int i;

while(1)

int isok=0;

printf("請輸入數字:")

scanf("%d",&num);

if(num==0)break;

if(num%2!=0)

printf("奇數");

elsefor(i=2;ibreak;

if(isok==0)

printf("無法分解為兩個質數之和");

return 0;

2樓:管懷法騫仕

需要輸出所有偶數1

素數a素數b?

c語言 偶數分解為兩個素數

3樓:老肖的經驗

其實很簡單,for(k=2;k<=sqrt(m1);k++)if(m1%k==0) break;

是用來測試m1是不是素數,如果m1是素數,那麼沒有乙個k能整除m1,最終迴圈的結束就是k<=sqrt(m1)不再滿足,也就是k>sqrt(m1)了。所以下面。

if(k>sqrt(m1)) m2=a-m1;

else continue;

從上面的分析可以得到看》sqrt(m1)表示m1是素數,既然m1是素數,當然我們就要再檢驗m2=a-m1是不是素數了;反之,就應該看下乙個m1是不是素數,也就是應該進入下乙個迴圈了,所以else continue;

4樓:註冊zhende麻煩

continue就是立即結束本次迴圈。開始下一次迴圈,所以只能用在while和for**塊中。

有一點小區別,for塊中的continue結束本次迴圈後,執行for小括號中的第三條語句再開始下一次迴圈。

你的程式中可能少了大括號。

5樓:網友

continue 就是不執行本層迴圈體內剩餘的語句,直接進行下一次迴圈。

6樓:花花浪客

else continue

就是後面的**不做了,直接進行下一次迴圈。

c語言偶數分解為兩素數之和

7樓:糗鳥

問題比較多,我按照你的給修改了一下,程式體封裝的沒給你變,以便讓你看到自己的錯誤,你自己看吧。

#include

int main()

int n,i,j,k,l,m,h,flag=0,flag1=0;

scanf("%d",&n);

for(i=2;i<=n/2;i++)

for(k=2;k=n/2;j--)

for(h=2;h

8樓:高三六班

話說你不能把判斷素數的封裝為乙個函式嗎?

**風格很重要。

#include

#include

int isprime(int n)

return 1;

int main()

return 0;}

c語言偶數分解素數 哪錯了 謝了啊

9樓:網友

*只是迴圈條件出了點問題,改動見//

#include

#define n 3 //

void f(int a)

int m,n,i,j=0,k,x[100],flag=0;

for(k=0;k

#define n 3 //

void f(int a)

int m,n,i,j=0,k,x[100],flag=0;

for(k=0;kif(a[k]!=0)

if(a[k]%2!=0)printf("%d is odd number!",a[k]);

else j=0;

for(m=2;mi=2; while(m%i!=0)

i++;if(i==m)

x[j]=m; j++;

for(m=0;mfor(n=0;nif(a[k]==x[m]+x[n])

flag=1;

break;//他也變了。

if (flag)//加上,這樣flag也派上用場了。

flag=0;//flag要歸零。

break;

if(a[k]==0)continue;//void main()

int a[n]=,i;

for(i=0;iscanf("%d",&a[i]);

f(a);

10樓:網友

沒有一行註釋,這個習慣不好。

程式寫得太亂了,不想看。

跪求c語言高手糾錯!偶數分解!

11樓:網友

//試試這個。

#include

bool iszhishu(int a)//判斷是否是質數}if(count==0)

return true;

elsereturn false;

int main( )

if(isok==0)

printf("無法分解為兩個質數之和");}return 0;}

c語言:任意輸入乙個偶數,請裝它分解為兩個素數之和。

12樓:伍拾步

#include

#include

int f(int n)//判斷n是否為素數,是則返回1,否則返回0void main()

while(num<=2||num%2);

for (a=2;a<=sqrt(num);a++)if (f(a)&&f(num-a))}

13樓:網友

把這個問題分為兩步,首先得到<=該偶數的所有素數,然後產生兩個素數,判斷其和是否滿足=偶數。程式如下:

#include

#include//用到開方函式。

int prime(int m)//該函式判斷m是否為素數,取一標誌位,如果是則返回0,void main()

c語言中判斷輸入的數為偶數還是奇數的程式怎麼編寫

1 開啟乙個虛擬機器,開啟終端 ctrl alt t 然後用vi新建並進入編輯乙個c檔案 vi a.c 2 按 i 進入輸入模式,開始編寫程式,因為linux下輸入中文還要進行其他設定,所以是在notepad 下編輯的。3 先定義乙個整數a。4 判斷a是否能被2整除,即a對2取餘是否為0,為0則此數...

在C語言中54d和5d區別C語言05d和5d有什麼不同啊?

d是輸出整形。5.4d。小數點前面的數字 5 是輸出的資料寬度,是左對齊輸出,不足5位的以空格輸出 小數點後面的數字 4 是指輸出資料小數點保留位數,四捨五入輸出。預設是輸出六位小數。5d也就是前面所述的情況,輸出資料寬度,比如 d輸出阿拉伯數字 1 佔乙個寬度,輸出時 1,5d輸出時 1,前面有四...

c語言中的intp5int5怎麼理解

int p5 int 5 p5是個指標,指向乙個具有乙個int 型形參的函式,這個函式返回乙個指向具有5個int元素的陣列的指標。c語言中int p 5 與 int p 5 的區別 你是不想問 int p 和int p 的區別啊 的優先順序高於 所以前者表示指標陣列,而後者是陣列指標,例如int p...