首页 > 代码库 > 武汉科技大学ACM :1009: 华科版C语言程序设计教程(第二版)例题4.18
武汉科技大学ACM :1009: 华科版C语言程序设计教程(第二版)例题4.18
Problem Description
验证哥德巴赫猜想:任何充分大(>=4)的偶数都可以用两个素数之和表示。
Input
输入一个偶数n。(2<n<=10000)
Output
找到a、b使得 n=a+b
其中a、b为两个素数,且a<=b。
Sample Input
4
100
Sample Output
2 2
3 97
1 #include <iostream> 2 3 #include<math.h> 4 5 using namespace std; 6 7 int prime(int m) 8 9 {10 11 int i,n;12 13 if(m==1)return 0;14 15 n=(int)sqrt((double)m);16 17 for(i=2;i<=n;i++)18 19 if(m%i==0)return 0;20 21 return 1;22 23 }24 25 int main()26 27 {28 29 int count,i,number;30 31 count=0;32 33 while(cin>>number)34 35 {36 37 for(i=2;i<=number/2;i=i+1)38 39 if(prime(i)&&prime(number-i))40 41 {42 43 cout<<i<<" "<<number-i<<endl;44 45 break;46 47 }48 49 }50 51 return 1;52 53 }
其他代码:
1 #include<stdio.h> 2 #include<math.h> 3 int prime (int m) 4 { 5 int r = m/2; 6 for (int i = 2; i <= r; i++) 7 if (m % i == 0) 8 return 0; 9 return 1;10 }11 int main()12 {13 int n,i;14 while(~scanf("%d",&n))15 {16 for(i=2;i<=n/2;i++)17 if(prime(i)&&prime(n-i)){18 printf("%d %d\n",i,n-i);19 break;20 }21 }22 return 0;23 }
武汉科技大学ACM :1009: 华科版C语言程序设计教程(第二版)例题4.18
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。