代码打字

完成新题 +10 积分
随机一题
cc.cc20 275 字符 匹配可见字符 尚未完成
题目

P753. 素数对

查看原题

题目描述

定义两个相差为 22 的素数称为素数对,例如 557717171919 等。

给定一个正整数 nn,请找出所有两个数都不大于 nn 的素数对。

输入格式

输入一行,包含一个正整数 nn

输出格式

输出所有小于等于 nn 的素数对。

每个素数对占一行,两个数之间用一个空格分隔。

如果不存在这样的素数对,输出 empty

样例

样例 1

输入:

1

输出:

empty

样例 2

输入:

3

输出:

empty

数据范围

1n100001 \le n \le 10000

时间限制:1s。

内存限制:128MB。

提示

可以先判断区间内哪些数是素数,再检查相差为 22 的两个数是否同时为素数。

打字区

cc.cc20

00:00 用时 0 CPM 100% 准确率
目标代码 0 / 275
#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    bool v[50005]={false};
    for(int i=2;i<=n;i++){
        if(!v[i]){
            for(int j=i*2;j<=n;j+=i){
                v[j]=true;
            }
        }
    } 
    bool b=false;
    for(int p=2;p+2<=n;p++){
        if(!v[p]&&!v[p+2]){
            cout<<p<<" "<<p+2<<endl;
            b=true;
        }
    } 
    if(!b){
        cout<<"empty"<<endl;
    }
    return 0;
}
登录后开始 未开始

手速排行榜

正在加载排行榜...

打字量排行榜

正在加载排行榜...