验证哥德巴赫猜想 C语言

来源:百度知道 编辑:UC知道 时间:2024/06/04 02:56:59
算法描述如下:

输入:任意一个不小于6的数
输出:该数可以表述为两个素数之和

1.定义变量n,i

2.输入一个数赋给n,若n为不小于6的偶数,则继续执行步骤3,否则重新输入数值,直到满足条件为止。

3.若i的取值为3~n/2之间,则循环执行步骤4,否则退出循环。

4.调用函数isprime判断i和n-i是否为素数,若是则找到解,输出结果并推出循环。如果不是,则循环控制变量i自增1,继续执行步骤3.

(定义一个函数isprime(x),用于判断正整数x是否为素数)

要按照上面的算法来写。高人帮忙~~谢谢啦~~~急用哦~~~~

首先更正一下,哥德巴赫猜想是不小于6的偶数……符合你要求的程序如下,可以运行:
#include<stdio.h>
int isprime(int n)/*判断n是否为素数的函数*/
{
int j,x;
for(j=2;j<n;j++)
if(n%j==0)
{
x=0;
break;
}else
x=1;
return(x);
}
main()
{
int n,i;
printf("请输入一个不小于6的偶数:\n");
scanf("%d",&n);
while(n<6||n%2!=0)
{
printf("您的输入有误,请重新输入:\n");
scanf("%d",&n);
}
for(i=3;i<(n/2);i++)
{
if(isprime(i)!=0)
if(isprime(n-i)!=0)
printf("%d可以写成%d与%d之和。\n",n,i,n-i);
}
}

太高深了 我一点也不懂

这是干什么的?