C语言题 输入一个小于2000的整数,使这个数是任意2个质数相加?
我用的C语言的编译器不好调试,太长的代码调试太花时间了,只好用一点比较简单的算法了。(PS:主要是动态生成2000以内的质数列表太麻烦了,内存很容易出错,编译器的调试太恶心人了,居然没断点。。 。 干脆小小的作了下弊)
#include
int Issushu(int i)
{
int a[14]={2,3,5,7,11,13,17,19,23,29,31,37,41,43};
int j;
if(i==1)
return 0;
for(j=0;j<14;j++)
{
if(i%a[j]==0 && i!=a[j])
return 0;
}
return 1;
}
int comput...全部
我用的C语言的编译器不好调试,太长的代码调试太花时间了,只好用一点比较简单的算法了。(PS:主要是动态生成2000以内的质数列表太麻烦了,内存很容易出错,编译器的调试太恶心人了,居然没断点。。
。
干脆小小的作了下弊)
#include
int Issushu(int i)
{
int a[14]={2,3,5,7,11,13,17,19,23,29,31,37,41,43};
int j;
if(i==1)
return 0;
for(j=0;j<14;j++)
{
if(i%a[j]==0 && i!=a[j])
return 0;
}
return 1;
}
int compute(int input)
{
int i;
for(i=1;i<=input/2;i++)
{
if(Issushu(i) && Issushu(input-i))
{
printf("%d+%d=%d\n",i,input-i,input);
return 1;
}
}
printf("No such Numbers!\n");
return 0;
}
void main()
{
int input;
printf("Please Input a Number(3收起