c语言练习 7-3. 数素数

来源:互联网 发布:女生说话软件 编辑:程序博客网 时间:2024/05/22 07:49

令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。

输入格式:

输入在一行中给出M和N,其间以空格分隔。

输出格式:

输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。

输入样例:
5 27
输出样例:
11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 89

97 101 103

#include <stdio.h>int isPrime(int n) {    int i, limit, flag = 1;    if(n <= 1)        flag = 0;    else if(n == 2)        flag = 1;    else if(n % 2 == 0)         flag = 0;    else {                       limit = sqrt(n);        for(i = 3; i <= limit; i += 2) {            if(n % i == 0) {                flag = 0;                break;            }        }    }    return flag;}int main(){int a, b;scanf("%d %d",&a, &b);int t=0,k=0;int j;for(j=2;;j++){if (isPrime(j)){t++;// printf("%d--%d\n", j, t);if((t>=a) && (t<b)){k++;if(k%10){printf("%d ", j);}else{printf("%d\n", j);}}else if(t ==b){printf("%d\n", j);break;}else if(t>b){break;}}}}



需要优化求素数算法。。。

0 0