作业帮 > 综合 > 作业

用c语言《验证歌德巴赫猜想》

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/08 11:59:45
用c语言《验证歌德巴赫猜想》
【问题描述】验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如,6=3+3,8=3+5,…,18=5+13。要求将6~100之间的偶数都表示为两个素数之和,输出时一行输出五组。【输入形式】无输入【输出形式】按从小到大、每组五行,每组间用一个空格分隔.每组的格式为:4d%=2d%+2d%.等号和加号两侧无空格.
用c语言《验证歌德巴赫猜想》
#include <stdio.h>
int f(int n);
int main()
{
int k=0;
for(int i=6;i<=100;i+=2)
{
for(int j=3;j<=i/2;j++)
if(f(j)&&f(i-j))
{
  printf("%4d=%2d+%2d ",i,j,i-j);
  k++;
  if(k%5==0)
  printf("\n");
  break;
}
}
}
int f(int n)
{
for(int i=2;i<=n/2;i++)
if(n%i==0)
return 0;
return 1;
}

这个可以了

再问: 谢谢,对不起, 好像有点错误 编译错误. 4__10.c: In function ‘main’: 4__10.c:6: error: ‘for’ loop initial declaration used outside C99 mode 4__10.c:8: error: ‘for’ loop initial declaration used outside C99 mode 4__10.c: In function ‘f’: 4__10.c:21: error: ‘for’ loop initial declaration used outside C99 mode
再答: 我只能说上面的程序在我的VC++6.0上运行没有错误
再答: 不知道你的是什么编译器? 还有就是这种输出格式我是没见过4d%=2d%+2d% 应该是%4d=%2d+%2d 这样吧