1013

作者: 笔墨流年乱浮生 | 来源:发表于2018-09-06 09:36 被阅读0次

//1013 数素数 (20)(20 分)
//令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。
//
//输入格式:
//
//输入在一行中给出M和N,其间以空格分隔。
//
//输出格式:
//
//输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。
//
//输入样例:
//
//5 27
//输出样例:
//
//11 13 17 19 23 29 31 37 41 43
//47 53 59 61 67 71 73 79 83 89
//97 101 103

C:

#include <stdio.h>
#include <math.h>
int main(int argc, const char * argv[]) {
    int prime[10000];
    int M,N;
    scanf("%d %d",&M,&N);//输入素数数量的最小值和最大值
    int primenum = 0;
    for (int i = 2; primenum< N; i++) {//只要素数没有达到数量最大值N,就继续找素数
        int flag = 1;
        for (int j = 0;primenum > 0 && prime[j] <= sqrt(i); j++) {//如果不加primenum > 0这个条件就会浮点错误
            if (i % prime[j] == 0) {
                flag = 0;
            }
        }
        if (flag == 1) {
            prime[primenum++] = i;
        }
    }
    for (int i = M; i < N; i++) {//10个数字一行,最后一个数字单独输出
        printf("%d",prime[i - 1]);
        printf((i - M + 1) % 10 ? " ":"\n");
    }
    printf("%d",prime[N-1]);
    return 0;
}

为何必须加上primenum>0这个条件,不加的话就会浮点错误?
在xcode中无错误无警告,也不影响结果,但是在PTA平台会报错。

相关文章

  • PAT-B-1013. 数素数(Java)

    1013. 数素数 (20)

  • 2019-07-24

    快速了解UC2845BD1013TR 描述 UC2845BD1013TR控制IC提供必要的功能,可实现离线或...

  • 1013

    //1013 数素数 (20)(20 分)//令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请...

  • 1013

  • 1013

    早上好!#幸福实修#~每天进步1%#幸福实修12班@吕敏一富阳 20171012(17/30) 【幸福三朵玫瑰】 ...

  • 1013

    可爱的冰淇淋有助于点亮一天。。忙碌的一周结束啦。。赶紧想想周末去哪里玩~~

  • 1013

    我觉得还有一件事很重要。过去很美好,可是也不能总往回看。 年轻时候混日子当然美好,没有付出,全是白给的快乐。 可是...

  • 1013

    我揉了揉刚睁开的眼睛,呆呆地望着天花板。 窗子没装窗帘,傍晚的阳光穿过玻璃,整个房间都是温暖的金黄。 “居然已经傍...

  • 1013

    先知与智者的区别,在于他不但思考,而且把思考变成行动,在行动中思考,用行动来思考。 箴言与隽语的区别,在于它的异乎...

  • 1013

    刚刚看了混沌哥一篇写金瓶梅的文章,写得真的是太好了,把古人写的文章,和现代的事情都结合在一起了,感觉非常妙哉,又是...

网友评论

      本文标题:1013

      本文链接:https://www.haomeiwen.com/subject/iwtobftx.html