2849 - 【验证型】第7章:函数 哥德巴赫猜想
验证100以内任何一个大于6的偶数均可表示为2个素数之和。编写函数验证这一猜想,要求给定一个6到100的偶数,输出偶数等于两个素数之和的所有情况。
Input
1个偶数。
Output
偶数=素数1+素数2。(要求:素数1<素数2)可能输出有多行。注意:每行的素数1从上到下的大小顺序是递增的。
Examples
Input
30
Output
30=7+23 30=11+19 30=13+17
Solution C
#include<stdio.h> int isPrimeNumber(int n) { int i; for(i=2;i<=n/2;i++) { if(n%i==0) return 0; } return 1; } int gotbaha(int n) { int i; for(i=2;i<n;i++) { if(isPrimeNumber(i)&&isPrimeNumber(n-i)&&(i<=n-i)) { printf("%d=%d+%d\n",n,i,n-i); } } } main() { int n; scanf("%d",&n); gotbaha(n); }
Solution C++
#include<stdio.h> int isPrimeNumber(int n) { int i; for(i=2;i<=n/2;i++) { if(n%i==0) return 0; } return 1; } int gotbaha(int n) { int i; for(i=2;i<n;i++) { if(isPrimeNumber(i)&&isPrimeNumber(n-i)&&(i<=n-i)) { printf("%d=%d+%d\n",n,i,n-i); } } } main() { int n; scanf("%d",&n); gotbaha(n); }