• code vs1436 孪生素数 2(数论+素数的判定)


    1436 孪生素数 2

     

     时间限制: 2 s
     空间限制: 1000 KB
     题目等级 : 白银 Silver
     
     
    题目描述 Description

    如m=100,n=6

    则将输出100以内的所有相差6的孪生素数:如,

    5 11

    7 13

    ....

    83 89

    请按此规律输出数与数之间用半角空格区分,每一对一行.

    输入描述 Input Description

    第一行输入一个整数数m为一个范围(如100)

    第二行输入一个整数k为目标孪生素数的公差(如6)

    输出描述 Output Description

    每行输出一对,最后一行输出:Total Is:?(?表示总共有几对这样的数,如果不存在则输出Total Is:0)

    样例输入 Sample Input

    例如1:

    50 2

    例如2:

    100 90

    例如3:

    200 199

    样例输出 Sample Output

    例如1:

    3 5
    5 7
    11 13
    17 19
    29 31
    41 43
    Total Is:6

    例如2:

    7 97
    Total Is:1

    例如3:

    Total Is:0

    数据范围及提示 Data Size & Hint

    m<=5000

    分类标签 Tags 点此展开 

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath> 
    using namespace std;
    int m,k,a[100000],r[50000],l[50000],num,j=1,ans;
    bool prime_number_judgmentthe_judge_of_prime(int x){
        for(int i=2;i<=sqrt(x);i++){
            if(x%i==0)
                return 0;
        }
        return 1;
    }
    int main(){
        cin>>m;
        cin>>k;
        for(int i = 2; i <= 5000; i++){
            if(prime_number_judgmentthe_judge_of_prime(i) == 1){
                a[j]=i;
                j++;
            }
        }
        for(int i = 1; i <= m; i++){
            for(int jj = i+1; jj <= m; jj++){
                if(a[i] <= m && a[i] + k == a[jj] && a[jj] <= m)
                {
                    num++,r[num]=a[i],l[num]=a[jj];
                    break;
                }
                if(jj >= i+k+1)    break;    
            }
        } 
        for(int i=1;i<=num;i++)
            cout<<r[i]<<" "<<l[i]<<endl;
        cout<<"Total Is:"<<num;
    }

    思路:因为数据范围不大,所以先求出了所有数据范围内的素数,欧拉筛法判断是否为素数,然后每句每一堆数判断是否满足条件,就可以求出素数个数;

    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    哈希表和HashMap内部实现原理
    git入门指导
    eclipse快捷键汇总
    Java Map容器小示例
    Java容器小解析
    泛型小解析
    Python UDP编程小示例
    wcf-2
    wcf-1
    感想
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/6054034.html
Copyright © 2020-2023  润新知