早教吧 育儿知识 作业答案 考试题库 百科 知识分享

3.(哥德巴赫猜想)C++编程题,希望大家帮忙做做,只要程序就行,任何解释内容都不需要。以下是题目要求题目描述著名的哥德巴赫猜想是:每个不小于6的偶数都可以表示为两个奇素数之

题目详情
3.(哥德巴赫猜想)C++编程题,希望大家帮忙做做,只要程序就行,任何解释内容都不需要。 以下是题目要求
题目描述
著名的哥德巴赫猜想是:每个不小于6的偶数都可以表示为两个奇素数之和。例如,16=3+13=5+11。下面需要你来编程验证一下哥德巴赫猜想是否正确。
输入
在输入的若干行数据中,每行仅有一个偶数N(6<=N<=2000000000)。
输出
你需要输出N行数据,每行以升序输出两个素数,这两个素数的和等于输入中的那个偶数,如果有多种选择,输出乘积最大的,例如 N==16时,输出5 11,而不是3 13。当你发现偶数N不能拆分成两个素数时,请立刻放下手中的程序,直接到A9找院长,因为你和大连东软信息学院都将名垂青史。
样例输入
6
16
20
样例输出
3 3
5 11
7 13
▼优质解答
答案和解析
#include
int prime(int n)
{
int i;
for(i=2;i<=n/2;i++){
if(n%i==0)return 0; }
if(i>n/2)return 1;

}
int main()
{
int n,i,j;
printf("Input n:");
scanf("%d",&n);
for(i=3;i<=n/2;i++)
if((prime(i)==1)&&(prime(n-i)==1))j=i;
printf("%d=%d+%d ",n,j,n-j);
return 0;
}
看了 3.(哥德巴赫猜想)C++编...的网友还看了以下: