PAT 乙级 1013

来源:互联网 发布:如何解决域名劫持 编辑:程序博客网 时间:2024/06/08 17:47

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 4347 53 59 61 67 71 73 79 83 8997 101 103
分析:
这个题目的话,主要考察的还是边界的控制。稍微注意一点就很简单啦~看代码吧!
using System;namespace PAT{    class Program    {        static void Main(string[] args)        {            string input = Console.ReadLine();            string[] numStrs = input.Split(' ');            int begin = int.Parse(numStrs[0]);            int end = int.Parse(numStrs[1]);            int number = 2;     //持续增大的数字            int i = 1;  //第几个质数            int count = 0;  //这一行的第几个数字            while(i < begin)            {                if (IsPrime(number))                    i++;                number++;            }            while (i <= end)             {                if (IsPrime(number))                {                    count++;                    Console.Write(number);                    if (count % 10 == 0)                        Console.WriteLine();                    else if (i != end)                        Console.Write(" ");                    i++;                }                number++;            }        }        static bool IsPrime(int number)        {            int sqrt = (int)Math.Sqrt(number);            for(int i = 2; i <= sqrt; i++)            {                if (number % i == 0)                    return false;            }            return true;        }    }}


0 0
原创粉丝点击