博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Codeforces 923A】Primal Sport
阅读量:5263 次
发布时间:2019-06-14

本文共 804 字,大约阅读时间需要 2 分钟。

【链接】

【题意】

题意

【题解】

考虑怎么得到数字x2=N,假设是质数p的倍数
那么x1肯定在x2-p+1~x2这个范围内才行
因为p的倍数要刚好大于等于x1,
所以x1肯定是在这两个倍数之间才行
结果已经很显然了
肯定让p的值越大越好。
这样得到的x1才可能越小。
枚举x1在x2-p+1~x2之间。
用同样的方式得到x0就好。

【代码】

#include 
using namespace std;const int N = 1e5;int n;int x0,x1,x2;int maxfac(int x){ int j = x; for (int i = 2;i*i<=x;i++){ if (x%i==0){ while (x%i==0){ x/=i; } j = i; } } if (x>1) j = x; return j;}int main(){ ios::sync_with_stdio(0),cin.tie(0); cin >> x2; int p = x2-maxfac(x2)+1; int ans = x2; for (int x1 = p;x1 <= x2;x1++){ int temp = maxfac(x1); if (temp!=x1){ x0 = x1-temp+1; ans = min(ans,x0); } } cout<
<

转载于:https://www.cnblogs.com/AWCXV/p/10615848.html

你可能感兴趣的文章
HDU 2639 Bone Collector II 背包k优解
查看>>
归并排序求逆序对
查看>>
HDU 1864最大报销额 01背包问题
查看>>
图论浅析--基础知识
查看>>
<数据结构与算法分析>读书笔记--最大子序列和问题的求解
查看>>
winform采用POST上传指定文件,并获取返回值
查看>>
一、Qt Creator的安装和hello world程序的编写
查看>>
C/C++ 关于大小端模式
查看>>
VueJs2.0建议学习路线
查看>>
An Algorithm
查看>>
导出Excel的几种方法
查看>>
赋值表达式也有值
查看>>
2013年下半年软件评測师(下午)试题分析与解答
查看>>
第一个项目--用bootstrap实现美工设计的首页
查看>>
线程概述
查看>>
struts的增删改查
查看>>
通过名称找到控件(VB.NET)
查看>>
servlet request getHeader(“x-forwarded-for”) 获取真实IP
查看>>
使用html+css+js实现弹球游戏
查看>>
VB.NET全角半角check
查看>>