zoukankan      html  css  js  c++  java
  • 1013 数素数

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

    有一个测试点卡了很久, 原因是数组开的不够大(当时开了10010), 因为第10000个素数比10000大, 所以数组应再扩大, 开到1000010就过了
    #include <iostream>
    using namespace std;
    const int MAX = 1000010;
    int n, cnt;
    int prime[MAX];
    bool vis[MAX];
    
    void Prime()
    {
    	for(int i = 2; i <= MAX; ++ i)
    	{
    		if(!vis[i])
    		{
    			prime[++cnt] = i;
    		}
    		for(int j = 1; (j <= cnt) && (i * prime[j] <= MAX); ++ j)
    		{
    			vis[i * prime[j]] = true;
    			if(i % prime[j] == 0)	break;
    		}
    	}
    }
    
    int main()
    {
    	Prime();
    	int m, n, sum = 1;
    	cin >> m >> n;
    	
    	for(int i = m; i <= n; ++ i)
    	{
    		if(sum % 10 == 0 && i < n)
    		{
    			cout << prime[i] << endl;
    		}
    		else if(i == n)
    		{
    			cout << prime[i];
    		}
    		else
    		{
    			cout << prime[i] << " ";
    		}
    		sum ++;
    	}
    	
    	return 0;
    }
    

      

  • 相关阅读:
    SpringDataJPA中No serializer
    SpringDataJPA中NO Session错误
    SpringDataJpa
    SSJ集成
    Spring创建对象的4种方式
    Properties在xml中添加值
    在ubuntu上进行React-Native开发之环境搭建
    免费学外语?上这10个网站。知道一个算你牛!
    ListView circleImageView Item test
    apk瘦身 提高优化效果
  • 原文地址:https://www.cnblogs.com/mjn1/p/10846478.html
Copyright © 2011-2022 走看看