ECNU_OJ_1006

来源:互联网 发布:ipad pro实用软件 编辑:程序博客网 时间:2024/05/21 10:14

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;}
0 0
原创粉丝点击