用C语言 编程 验证哥德巴赫猜想 详细请入
发布网友
发布时间:2022-05-09 23:58
我来回答
共5个回答
热心网友
时间:2023-10-14 05:49
#include<stdio.h>
int prime(int n)
{for(int i=2;i*i<=n;i++)
if(n%i==0)return 0;
return n>1;
}
int main()
{int x,i;
scanf("%d",&x);
for(i=2;i<=x/2;i++)
if(prime(i)&&prime(x-i))
{printf("%d+%d=%d\n\n",i,x-i,x);
return 0;
}
}
热心网友
时间:2023-10-14 05:49
我用QBASIC语言编的哥德*猜想验证程序。
想交流的,可以发电子邮件到dosxpwin@163.com,和我交流。
热心网友
时间:2023-10-14 05:49
先给你个思路 你试着写一下 你先定义一个int数组 来存放素数 在判断从1-10,1-700 之间的素数 并把它们放在数组里 你再定义一个变量来记录满足猜想的素数对数 如果是1对 就输出 如果不是就输出错误 判断是否满足猜想 可以用俩个for循环 从第一个 一次俩个俩个相加 如果满足猜想 记录下这俩个数 就这样
热心网友
时间:2023-10-14 05:50
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;
}
热心网友
时间:2023-10-14 05:51
#include "stdio.h"
#include "math.h"//是否是素数
bool isPrime(int num)
{
for (int i=2;i<=(int)sqrt(num*1.0);++i)
{
if(num%i==0)
return false;
}
return true;
}void Output(int num)
{
for(int i = 2; i<=num/2;++i)
{
if(isPrime(i) && isPrime(num-i))
{
printf("%d=%d+%d\n",num,i,num-i);
break;
}
}
}
void main()
{
Output(10);
Output(700);
int n=0;
scanf("%d",&n);
}