您的位置:首页 > 其它

ECNU_OJ_1006

2016-03-12 15:47 351 查看

Prime

Time Limit:1000MS Memory Limit:30000KB

Description

A prime is the number which can be only divide exactly by 1 or itself.

Input

There several test case. Each test case have two positive integer N,M in one line. (0

Output

For each test case, output one line that contain an integer that is the number of primes from N to M.

Sample Input

5 10

1 3

6 8

Sample Output

2

2

1

Source

Ecnu online judge

#include <stdio.h>
#include <math.h>
#include <malloc.h>

int main(int argc, char **argv)
{
int i = 0;
int j = 0;
int *prime = (int *)malloc(sizeof(int) * 1000001);
for(i = 3; i < 1000001; i+=2)
{
prime[i] = 1;
prime[i + 1] = 0;
}
prime[2] = 1;
for(i = 3; i < 1000001; i++)
{
if(prime[i] == 1)
{
for(j = i + i; j < 1000001; j += i)
prime[j] = 0;
}
}

unsigned int m = 0;
unsigned int n = 0;

while(scanf("%d%d", &m, &n) != EOF)
{
unsigned int count = 0;
for(i = m; i <= n; i++)
if(prime[i] == 1)
count++;
printf("%d\n", count);
}
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: