zoukankan      html  css  js  c++  java
  • 1007 素数对猜想

    让我们定义dn​​为:dn​​=pn+1​​pn​​,其中pi​​是第i个素数。显然有d1​​=1,且对于n>1有dn​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

    现给定任意正整数N(<),请计算不超过N的满足猜想的素数对的个数。

    输入格式:

    输入在一行给出正整数N

    输出格式:

    在一行中输出不超过N的满足猜想的素数对的个数。

    输入样例:

    20
    

    输出样例:

    4

    先打表, 再选择符合条件的个数
    #include <iostream>
    using namespace std;
    
    int cnt, n;
    int prime[1000010];
    bool vis[1000010];
    
    void Prime(int n)
    {
    	for(int i = 2; i <= n; ++ i)
    	{
    		if(vis[i] == false)
    		{
    			prime[++cnt] = i;
    		}
    		for(int j = 1; (j <= cnt) && (i * prime[j] <= n); ++ j)
    		{
    			vis[i * prime[j]] = true;
    			if(i % prime[j] == 0)	break;
    		}
    	}
    }
    
    int main()
    {
    	int n, sum = 0;
    	cin >> n;
    	
    	Prime(n);
    	
    	for(int i = n; i >= 2; -- i)
    	{
    		if(prime[i] - prime[i - 1] == 2)
    		{
    			sum ++;
    //			cout << prime[i] << "-" << prime[i - 1] << endl;
    		}
    	}
    	cout << sum << endl;
    	
    	return 0;
    }
    

      

  • 相关阅读:
    【linux】驱动-13-阻塞与非阻塞
    【linux】驱动-12-并发与竞态
    【linux】驱动-11-gpio子系统
    【linux】驱动-10-pinctrl子系统
    【linux】驱动-9-设备树插件
    手写Java分页模块
    JDBC连接与自定义线程池
    类加载器
    网络编程之TCP
    网络编程之UDP
  • 原文地址:https://www.cnblogs.com/mjn1/p/10843197.html
Copyright © 2011-2022 走看看