PAT乙级1003-数素数

令Pi表示第i个素数。现任给两个正整数M <= N <= 10000,请输出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

#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;
int main()
{
           int M, N,count=0;
          cout << "请输入两个数字" << endl;
          cin >> M >> N;
           int i = 0;
           for (i = 2; count <= N; i++)
          {
                    int tmp = 0;
                    for ( int j = 2; j <=sqrt(i); j++)
                   {
                              if (i%j == 0)
                                      tmp = 1;
                              if (i%j!=0)
                                      count++;
                    for ( int j = 2; j <= sqrt(i); j++)
                    if (i % j == 0)
                             ++tmp;
                    if (tmp == 0)
                             ++count;

                              if (tmp ==0 && count >= M&&count <= N)
                                      cout << i << endl;
                   
                   
          }
          
          system( "pause" );
           return 0;
}








网上借鉴:
#include <iostream>
#include <cmath>
int main()
{
           using namespace std;
           int m, n, count = 0;
          cin >> m >> n;
           for ( int i = 2; count <= n; i++)
          {
                    int temp = 0;
                    for ( int j = 2; j <= sqrt(i); j++)
                    if (i % j == 0)
                             ++temp;
                    if (temp == 0)
                             ++count;
                    if (count >= m && count <= n && temp == 0)
                   {
                             cout << i;
                              if ((count - m) % 10 == 9)
                                      cout << endl;
                              else if (count != n)
                                      cout << " " ;
                   }
          }
          cout << endl;
           return 0;
}

  

你可能感兴趣的:(PAT乙级1003-数素数)