CF948B Primal Sport
2024-10-20 16:17:39
题目链接:http://codeforces.com/contest/948/problem/B
知识点: 素数
解题思路:
\(f(x)\) 表示 \(x\) 的最大素因子。不难想到:\(X_1 \in [X_2 - f(X_2) + 1, X]\),对于这个范围中的每一个非素数 \(X_1\) 求出其对应的最小的 \(X_0 = X_1 - f(X_1) + 1\),找出一个最小的即为答案。
重点是要想到提前打出 \(f()\) 的表。
AC代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e6+, inf = 0x3f3f3f3f;
bool no_prim[maxn];
int prim[maxn];
int cnt=;
int f[maxn]; void init(){
no_prim[]=no_prim[]=true;
for(int i=;i<maxn;i++){
if(!no_prim[i]){
prim[cnt++]=i;
for(int j=i*;j<maxn;j+=i){
f[j]=max(f[j],i);
no_prim[j]=true;
}
}
}
}
int main(){
init();
int X;
scanf("%d",&X);
int ans=inf;
for(int i=X-f[X]+;i<=X;i++){
if(!no_prim[i]) continue;
ans=min(ans,i-f[i]+);
}
printf("%d\n",ans);
return ;
}
最新文章
- 一个插件让你在chrome直接运行apk
- jsp中frameset frame不显示页面
- js 设置Cookie 在PHP中读取(大师手法)
- __HTML_5读取文件API
- [转]CentOS更改yum源与更新系统
- MemSQL Start[c]UP 2.0 - Round 1 B. 4-point polyline (线段的 枚举)
- NAND Flash内部结构简介
- MySQL导入导出命令
- 使用WCF实现SOA面向服务编程—— 架构设计
- 泛泰A870L/K/S第三版官方4.4.2原来的系统卡刷机包 (愿自己主动ROOT)
- P、NP、NP完全问题
- ruby:TypeError: 对象不支持此属性或方法
- centos 7 x64 搭建 elasticsearch 服务
- 【Android 应用开发】Android开发技巧--Application, ListView排列,格式化浮点数,string.xml占位符,动态引用图片
- AspNetCore 多环境配置 以及注册 消费Consul
- 【php】php实现数组分块
- selenium java ,执行js改变页面
- 记录定时任务的一个错误:crontab 中使用";%";的问题
- C# 使用Win32 API将1个EXE程序嵌入另1个程序中
- MATLAB 地图工具箱 m_map 的安装和入门技巧(转)