程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C練習實例 >> C 練習實例84

C 練習實例84

編輯:C練習實例

C 練習實例84

題目:一個偶數總能表示為兩個素數之和。

程序分析:我去,這是什麼題目,要我證明這個問題嗎?真不知道怎麼證明。那就把一個偶數分解成兩個素數吧。

程序源代碼:

//  Created by www.runoob.com on 15/11/9.
//  Copyright © 2015年 菜鳥教程. All rights reserved.
//

#include<stdio.h>
#include<stdlib.h>
int Isprimer(unsigned int n);
int main()
{
    unsigned int n,i;
    do{
        printf("請輸入一個偶數:\n");
        scanf("%d",&n);
    }while(n%2!=0);
    for(i=1;i<n;i++)
        if(Isprimer(i)&&Isprimer(n-i))
            break;
    printf("偶數%d可以分解成%d和%d兩個素數的和\n",n,i,n-i);
    
    return 0;
}
int Isprimer(unsigned int n)
{
    int i;
    if(n<4)return 1;
    else if(n%2==0)return 0;
    else
        for(i=3;i<sqrt(n)+1;i++)
            if(n%i==0)return 0;
    
    return 1;
}

以上實例運行輸出結果為:

請輸入一個偶數:
4
偶數4可以分解成1和3兩個素數的和

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved