Young_20220202 2022-08-24 19:18 采纳率: 66.7%
浏览 20
已结题

请求帮助 不会站外题 请大家看看

这是一道较为著名的数论题

「一本通 6.2 例 1」Prime Distance

题目描述

原题来自:Waterloo local,题面详见 POJ 2689

给定两个整数 L,R ,求闭区间 [L,R] 中相邻两个质数差值最小的数对与差值最大的数对。当存在多个时,输出靠前的素数对。

输入格式

多组数据。每行两个数 L,R。

输出格式

详见输出样例。

样例

输入数据 1

2 17
14 17

输出数据 1

2,3 are closest, 7,11 are most distant.
There are no adjacent primes.

数据范围与提示

对于全部数据,1≤L<R<2^31 ,R−L≤10^6

上课讲过了,回家想了想敲了个49行代码,结果……不说了,看完代码再说吧

#include<bits/stdc++.h>
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
using namespace std;
#define x first
#define y second
typedef pair<int,int> pii;
void eth(int l,int r);
int ss[9]={0,2,3,5,7,11,13,17,37},ans,l,r,maxi,mini;
pii maxo,mino;
int main(){
    while(cin>>l>>r){
        eth(l,r);
        if(mini==0x3f3f3f3f)
            puts("There are no adjacent primes.");
        else
            printf("%d,%d are closest, %d,%d are most distant.\n",mino.x,mino.y,maxo.x,maxo.y);
    }
}
void eth(int l,int r){
    int sum=0,fi;
    bool ks=0;
    mini=0x3f3f3f3f;
    for(int i=max(l,2);i<=r;i++){
        bool k=1;
        for(int j=1;j<=8;j++)
            if(ss[j]!=i&&i%ss[j]==0){
                k=0;
                sum++;
                break;
            }
        if(k&&ks){
            if(sum<mini){
                mini=sum;
                mino=pii(fi,i);
            }
            if(sum>maxi){
                maxi=sum;
                maxo=pii(fi,i);
            }
            sum=0;
            fi=i;
        }
        else if(k)
            ks=1,fi=i;
    }
}

猜到了吧,TLE了
就一个测试点,还加了O2,有人能帮帮我吗?

  • 写回答

1条回答 默认 最新

  • Young_20220202 2022-08-24 19:33
    关注

    知道了,将pair改为两个数字就行了,std考试时果然不该用啊

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月24日
  • 创建了问题 8月24日

悬赏问题

  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。