2849 - 【验证型】第7章:函数 哥德巴赫猜想
时间限制 : 1 秒
内存限制 : 2 MB
验证100以内任何一个大于6的偶数均可表示为2个素数之和。编写函数验证这一猜想,要求给定一个6到100的偶数,输出偶数等于两个素数之和的所有情况。
题目输入
1个偶数。
题目输出
偶数=素数1+素数2。(要求:素数1<素数2)可能输出有多行。注意:每行的素数1从上到下的大小顺序是递增的。
输入/输出样例
输入格式
30
输出格式
30=7+23 30=11+19 30=13+17
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); }
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); }