验证哥德巴赫猜想
验证哥德巴赫猜想大家都知道一点吧。我们现在不是想证明这个结论,而是对于任给的一个不小于6的偶数,来寻找和等于该偶数的所有素数对。做好了这件实事,就能说明这个猜想是成立的。
要求输入一个不小于6的偶数m ,输出和等于该偶数的所有素数对a和b,按a递增的顺序输出,(a,b)和(b,a)被视为同一个素数对。
如:44=3+41
44=7+37
44=13+31
程序定义一个prime()函数和一个main()函数,prime()函数判断一个整数n是否是素数,其余功能在main函数中实现。
素数=奇数+2,奇数一定就是素数,所以循环从3开始,每次加2,保证了都是奇数即素数。
求素数时,从2开始到sqrt(x)就可以判断是否为素数了,没必要都进行一遍。
#include <math.h>
#include <stdio.h>
int prime(int i)
{
int q=1,c,j;
c=(int)sqrt(i);
for(j=2;j<=c;j++){
if(i%j==0){
q=0;}
}
return q;
}
int main()
{
int num;
int i,k,w,e;
scanf("%d",&num);
for(i=3;i<=num/2;i=i+2){
w=1;
e=0; // w和e做判断素数用
w=prime(i);
if(w==1)
{
k=num-i;
e=prime(k);
}
if(w==1 && e==1)
printf("%d %d\n",i,k);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律