C 練習(xí)實(shí)例84

C 語言經(jīng)典100例 C 語言經(jīng)典100例

題目:一個(gè)偶數(shù)總能表示為兩個(gè)素?cái)?shù)之和。

程序分析:我去,這是什么題目,要我證明這個(gè)問題嗎?真不知道怎么證明。那就把一個(gè)偶數(shù)分解成兩個(gè)素?cái)?shù)吧。

程序源代碼:

//  Created by hgci.cn on 15/11/9.
//  Copyright © 2015年 W3Cschool教程. All rights reserved.
//

#include<stdio.h>
#include<stdlib.h>
int Isprimer(unsigned int n);
int main()
{
    unsigned int n,i;
    do{
        printf("請(qǐng)輸入一個(gè)偶數(shù):\n");
        scanf("%d",&n);
    }while(n%2!=0);
    for(i=1;i<n;i++)
        if(Isprimer(i)&&Isprimer(n-i))
            break;
    printf("偶數(shù)%d可以分解成%d和%d兩個(gè)素?cái)?shù)的和\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;
}

以上實(shí)例運(yùn)行輸出結(jié)果為:

請(qǐng)輸入一個(gè)偶數(shù):
4
偶數(shù)4可以分解成1和3兩個(gè)素?cái)?shù)的和

C 語言經(jīng)典100例 C 語言經(jīng)典100例