用c语言程序验证哥德巴赫猜想
不知哪位人仁兄能用c语言程序将6到100之间的偶数都表示成两个素数只和,例如6=3+3;8=3+5;输出结果时一行五组。...
不知哪位人仁兄能用c语言程序将6到100之间的偶数都表示成两个素数只和,例如6=3+3;8=3+5;输出结果时一行五组。
展开
1个回答
展开全部
6=3+3; 8=3+5; 10=3+7; 12=5+7; 14=3+11;
16=3+13; 18=5+13; 20=3+17; 22=3+19; 24=5+19;
26=3+23; 28=5+23; 30=7+23; 32=3+29; 34=3+31;
36=5+31; 38=7+31; 40=3+37; 42=5+37; 44=3+41;
46=3+43; 48=5+43; 50=3+47; 52=5+47; 54=7+47;
56=3+53; 58=5+53; 60=7+53; 62=3+59; 64=3+61;
66=5+61; 68=7+61; 70=3+67; 72=5+67; 74=3+71;
76=3+73; 78=5+73; 80=7+73; 82=3+79; 84=5+79;
86=3+83; 88=5+83; 90=7+83; 92=3+89; 94=5+89;
96=7+89; 98=19+79; 100=3+97;
附代码:
#include<stdio.h>
int PrimeNumbers[50];
int isPrimeNumber(int n)
{
int i,flag=1;
for(i=2;i<n;i++)
{
if(n%i==0)
{
flag=0;
break;
}
}
return flag;
}
void GetPrimeNumbers()
{
int i,index=0;
PrimeNumbers[index++]=2;
for(i=3;i<100;i++)
{
if(isPrimeNumber(i)) PrimeNumbers[index++]=i;
}
PrimeNumbers[index]=0;
}
void GetFormulas()
{
int i,j,count=0;
for(i=6;i<=100;i+=2)
{
for(j=0;PrimeNumbers[j]!=0;j++)
{
if(isPrimeNumber(i-PrimeNumbers[j]))
{
printf("%d=%d+%d; ",i,PrimeNumbers[j],i-PrimeNumbers[j]);
if(++count==5)
{
printf("\n");
count=0;
}
break;
}
}
}
}
int main()
{
GetPrimeNumbers();
GetFormulas();
return 0;
}
16=3+13; 18=5+13; 20=3+17; 22=3+19; 24=5+19;
26=3+23; 28=5+23; 30=7+23; 32=3+29; 34=3+31;
36=5+31; 38=7+31; 40=3+37; 42=5+37; 44=3+41;
46=3+43; 48=5+43; 50=3+47; 52=5+47; 54=7+47;
56=3+53; 58=5+53; 60=7+53; 62=3+59; 64=3+61;
66=5+61; 68=7+61; 70=3+67; 72=5+67; 74=3+71;
76=3+73; 78=5+73; 80=7+73; 82=3+79; 84=5+79;
86=3+83; 88=5+83; 90=7+83; 92=3+89; 94=5+89;
96=7+89; 98=19+79; 100=3+97;
附代码:
#include<stdio.h>
int PrimeNumbers[50];
int isPrimeNumber(int n)
{
int i,flag=1;
for(i=2;i<n;i++)
{
if(n%i==0)
{
flag=0;
break;
}
}
return flag;
}
void GetPrimeNumbers()
{
int i,index=0;
PrimeNumbers[index++]=2;
for(i=3;i<100;i++)
{
if(isPrimeNumber(i)) PrimeNumbers[index++]=i;
}
PrimeNumbers[index]=0;
}
void GetFormulas()
{
int i,j,count=0;
for(i=6;i<=100;i+=2)
{
for(j=0;PrimeNumbers[j]!=0;j++)
{
if(isPrimeNumber(i-PrimeNumbers[j]))
{
printf("%d=%d+%d; ",i,PrimeNumbers[j],i-PrimeNumbers[j]);
if(++count==5)
{
printf("\n");
count=0;
}
break;
}
}
}
}
int main()
{
GetPrimeNumbers();
GetFormulas();
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询