1968: C/C++经典程序训练6---歌德巴赫猜想的证明
1968: C/C++经典程序训练6---歌德巴赫猜想的证明
Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 1165 Solved: 499
[Submit][Status][Web Board]
Description
写一个函数gotbaha, 验证“每个不小于6的偶数都是两个奇素数之和”,输入一个不小于6的偶数n,找出两个素数,使它们的和为n。
Input
输入一个不小于6的偶数n
Output
找出两个为素数,使它们的和为n。
Sample Input
80
Sample Output
80=7+73
HINT
主函数已给定如下,提交时不需要包含下述主函数
/* C代码 */
int main()
{
int n;
int gotbaha(int);
int prime(int);
scanf("%d",&n);
gotbaha(n);
return 0;
}
/* C++代码 */
int main()
{
int n;
int gotbaha(int);
int prime(int);
cin>>n;
gotbaha(n);
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #include<stdio.h> #include<math.h> int prime( int n) { int k,i; k=sqrt(n); for (i=2;i<=k;i++) if (n%i==0) break ; if (i==k+1) return 1; else return 0; } int gotbaha( int n) { int prime( int n); int a,b; for (a=7;a<n;a++) { b=n-a; //设置b=n-a将b用a表示,这样对范围内的b不再逐一验证,不用再单独为b设置循环,循环次数下降// if (prime(a)&&prime(b)) { printf( "%d=%d+%d" ,n,a,b); break ; } } } int main() { int n; int gotbaha( int ); int prime( int ); scanf( "%d" ,&n); gotbaha(n); return 0; } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步