C 練習實例84
題目:一個偶數總能表示為兩個素數之和。
程序分析:我去,這是什麼題目,要我證明這個問題嗎?真不知道怎麼證明。 那就把一個偶數分解成兩個素數吧。
程序源代碼:
// Created by www.w3big.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两个素数的和