【Codeforces 947A】 Primal Sport

【题目链接】

           点击打开链接

【算法】

         不难看出,x1的范围是[x2-P(x2)+1,x2],x0的范围是[x1-P(x1)+1,x1]

         我们可以先做一遍线性筛,然后暴力就可以了

【代码】

           

复制代码
#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1e6;

int i,j,k,tmp,x,l,ans;
bool mark[MAXN+10];
vector<int> Prime;

template <typename T> inline void read(T &x) {
        int f = 1; x = 0;
        char c = getchar();
        for (; !isdigit(c); c = getchar()) { if (c == '-') f = -f; }
        for (; isdigit(c); c = getchar()) x = (x << 3) + (x << 1) + c - '0';    
        x *= f;
}
template <typename T> inline void write(T x) {
        if (x < 0) { putchar('-'); x = -x; }
        if (x > 9) write(x/10);
        putchar(x%10+'0');    
}
template <typename T> inline void writeln(T x) {
        write(x);
        puts("");    
}

int main() {
    
        read(x);
        for (i = 2; i <= MAXN; i++) {
                if (!mark[i]) Prime.push_back(i);
                for (k = 0; k < Prime.size(); k++) {
                        tmp = i * Prime[k];
                        if (tmp > MAXN) break;
                        mark[tmp] = 1;
                        if (i % Prime[k] == 0) break;
                }
        }
        for (i = 0; i < Prime.size(); i++) 
                if (x % Prime[i] == 0) l = x - Prime[i] + 1;     
        ans = x;
        for (i = 0; i < Prime.size(); i++) {
                for (j = 2 * Prime[i]; j <= x; j += Prime[i]) {
                        if (j < l) continue;
                        ans = min(ans,j-Prime[i]+1);
                }    
        }
        
        writeln(ans);
     
        return 0;
}
复制代码

 

posted @   evenbao  阅读(228)  评论(0编辑  收藏  举报
编辑推荐:
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Huawei LiteOS基于Cortex-M4 GD32F4平台移植
· mysql8.0无备份通过idb文件恢复数据过程、idb文件修复和tablespace id不一致处
点击右上角即可分享
微信分享提示