首页 > 代码库 > 歌德巴赫猜想
歌德巴赫猜想
哥德巴赫猜想认为“每一个大于2的偶数,都能表示成两个质数之和”。
给定一个大于2的偶数N,你能找到两个质数P和Q满足P<=Q并且P+Q=N吗?
Input
一个偶数N(4 <= N <= 1000000)
Output
输出P和Q。如果有多组解,输出P最小的一组。
Sample Input
10
Sample Output
3 7
.......我还以为是啥数学题,结果是水题啊
1 #include <iostream> 2 #include <stdio.h> 3 #include <math.h> 4 using namespace std; 5 6 int Su(int x) 7 { 8 int t=sqrt(x); 9 for (int i=2;i<=t;i++)10 {11 if (x%i==0)12 return 0;13 }14 return 1;15 }16 17 int main()18 {19 int n;20 while (scanf("%d",&n)!=EOF)21 {22 int ok=0;23 int tmp=n/2;24 for (int i=2;i<=tmp;i++)25 {26 if (Su(i)&&Su(n-i))27 {28 ok=i;29 break;30 }31 }32 if (ok)33 printf("%d %d\n",ok,n-ok);34 }35 return 0;36 }
歌德巴赫猜想
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。