1013. 数素数 (20)

来源:互联网 发布:java 生成pdf 下载 编辑:程序博客网 时间:2024/06/08 04:22

1013. 数素数 (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

想法
简单直接的把从零到N的素数都找出来,然后注意十个一输出的格式,把第M到第N的输出就好了。

代码

#include <stdio.h>#include <math.h>int prime(int num){    int i,k;    k=sqrt(num);    for(i=2;i<k+1;i++)    {        if(num%i==0)            return 0;    }    return 1;}int main(void){    int i,M,N,num=1;    int output[10000];    scanf("%d %d",&M,&N);    for(i=0;i<N;i++)    {       num++;       while(!prime(num))       {           num++;       }       output[i]=num;    }    for(i=M;i<N;i++)    {        printf("%d",output[i-1]);        printf((i - M + 1) % 10 ? " " : "\n");    }    printf("%d",output[N-1]);    return 0;}
原创粉丝点击