1013 数素数 (20)
被自己蠢哭,拿1013的题目,提交到1007,提交了一个小时。。。。。
链接 点我
主要是判断是不是素数:
只需要判断n 能否被 2, 3, 4, 5, 。。。。。sqrt(n)整除即可
#include <stdio.h>
#include <math.h>
bool isPrime(int val)
{
if (val <= 1)
return false;
int sqr = (int) sqrt(1.0 * val);
for (int j = 2; j <= sqr; j++)
{
if (val % j == 0)
return false;
}
return true;
}
int result[1000001] = {0};
int main (void)
{
int val = 0;
int n, m;
int i = 0;
scanf ("%d %d", &n, &m);
while (1)
{
if (isPrime(val) == true)
{
i ++;
}
if (i >= n)
{
break;
}
val++;
}
for (i = 1; i <= m - n + 1; )
{
if (isPrime(val) == true)
{
printf ("%d", val);
if (i != (m - n + 1)) printf(" ");
if (i % 10 == 0) printf ("
");
i++;
}
val++;
}
}