偶數分解 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...