zoukankan      html  css  js  c++  java
  • PAT (Basic Level) Practice (中文)1007 素数对猜想 (20 分)

    题目

    让我们定义d​n 为:d​n​​ =p​n+1​​ −p​n​​ ,其中pi​​ 是第i个素数。显然有d​1​​ =1,且对于n>1有d​n​​ 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
    现给定任意正整数N(<10​5​​ ),请计算不超过N的满足猜想的素数对的个数。

    输入格式:
    输入在一行给出正整数N。

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

    输入样例:
    20
    输出样例:
    4

    C++实现

    #include <iostream>
    #include <cstring>
    using namespace std;
    bool is_pnum(int num)
    {
        for (int i = 2; i*i <= num; ++i) {
            if (num%i==0) return false;
        }
        return true;
    }
    int main()
    {
        int n;
        cin>>n;
        int temp=0;
        for (int i = 5; i <= n; ++i) {
            if (is_pnum(i)&&is_pnum(i-2)) temp++;
        }
        cout<<temp<<endl;
        return 0;
    }
    

    python实现

    import math
    
    def is_prime(n):
        if n%3==0 and n!=3:
            return False
        for i in range(3,int(math.sqrt(n)+1),2):
            if n%i==0:
                return False
        return True
    
    n=int(input())
    
    temp=0
    for i in range(5,n+1,2):
        if is_prime(i) and is_prime(i-2):
            temp+=1
    print(temp)
    
  • 相关阅读:
    系统管理命令之tty
    系统管理命令之id
    idea中使用junit测试时使用Scanner类无法正常测试
    002-字段不为null
    java8中接口中的default方法
    java之接口适配器
    java之对象适配器
    java之类适配器
    java之多态(六)
    java之多态(五)
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12338493.html
Copyright © 2011-2022 走看看