题目
令 Pi表示第 i 个素数。现任给两个正整数 M≤N≤104,请输出 PM到 PN的所有素数。
输入格式:
输入在一行中给出 M 和 N,其间以空格分隔。
输出格式:
输出从 PM到 PN的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。
不惑
这个题不难,但是我总是部分正确,就很烦最近总是部分正确,应该是代码上的漏洞比较大,但是自己往往看不出来。哭了
部分正确代码
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int susu(int a)
{
int i = 2;
for(;i <= sqrt(a);i++)
if(a % i == 0)
return 0;
return 1;
}
int main()
{
int a,b;
int i=1,j=0;
scanf("%d %d",&a,&b);
while(j < b)
{
i++;
if(susu(i))
{
j++;
if((j-a) % 10 == 0)
printf("%d",i);
else if(j > a)
{
printf(" %d",i);
if((j-a+1) % 10 == 0)
printf("\n");
}
}
}
return 0;
}
正确代码
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int susu(int a)
{
int i = 2;
for(;i <= sqrt(a);i++)
if(a % i == 0)
return 0;
return 1;
}
int main()
{