c语言的问题 tk57填空

来源:百度知道 编辑:UC知道 时间:2024/05/25 14:27:49
tk57.c用来输出两整数M和N之间的所有素数(质数)。所谓一个整数n为素数,是指n除了能被1和其本身n除尽
外,不能被2到n-1中的任何整数除尽。如7为素数,而9不是素数。
程序中,外循环变量i用于控制整数选择范围,内循环变量j用于判断某整数i是否为素数,若是,
则输出该素数,且通过变量s来控制每行输出5个素数。

#define M 4
#define N 30
main()
{
int i, j, k, s=0;
for(i=M; i<= ; i++)
{ for(j=2; j< ; j++)
if(i%j== 0 ) break;
if(j>=i)
{ printf("%5d", i);
s=s+1;
if(s%5 ) printf("\n");
}
}
printf("\n");
}

#define M 4
#define N 30
main()
{
int i, j, k, s=0;
for(i=M; i<= N ; i++)
{ for(j=2; j< i ; j++)
if(i%j== 0 ) break;
if(j>=i)
{ printf("%5d", i);
s=s+1;
if(s%5 ) printf("\n");
}
}
printf("\n");
}

看到了吗,第一个空填N,第二个空填i,第二个空最好填sqrt(i),即i的平方根,这样能优化算法。

for(i=M; i<= N; i++)
{ for(j=2; j<i ; j++)
if(s%5==0 ) printf("\n");