问题补充说明:算法描述如下:输入:任意一个不小于6的数输出:该数可以表述为两个素数之和1.定义变量n,i2.输入一个数赋给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>
intisprime(intn)/*判断n是否为素数的函数*/
{
intj,x;
for(j=2360问答;j<n;j++)
i卷亲晚f(n%j==0)
{
x=0;
break;
}else
x=1;
return(x);
}
main()
{
intn,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);
副此液混别农果系无}
}