题目:http://codeforces.com/contest/1152/problem/C

题意:给你a,b, 你可以找任意一个k     算出a+k,b+k的最小公倍数,让最小公倍数尽量小,求出这个k

思路:

因为现在两个都是未知数,我们无法确定

我们根据gcd底层实现原理

gcd(a+k,b+k) = gcd(b-a,a+k)

a=c*x;

b=c*y;

b-a=c*(y-x)

所以证明b-a的因子是a的因子也是b的因子

那么我们只要枚举出b-a的因子,然后再套入a+k中求得k,然后枚举取最优即可

#include<bits/stdc++.h>
#define maxn 100005
#define mod 1000000007
using namespace std;
typedef long long ll;
ll a,b;
ll mx;
ll k;
void suan(ll x)
{
ll kk=(x-a%x)%x;
ll dx=(a+kk)/x*(b+kk);
if(mx==-)
{
mx=dx;
k=kk;
}
else if(dx==mx){
k=min(k,kk);
}
else if(dx<mx){
mx=dx;
k=kk;
}
}
int main()
{
cin>>a>>b;
if(a>b){
ll t=b;
b=a;
a=t;
}
mx=-;
k=-;
ll sum=;
ll z=b-a;
ll t=sqrt(z);
for(int i=;i<=t;i++)
{
if(z%i==)
{
suan(i);
suan(z/i);
}
}
cout<<max(k,(ll));
}

Codeforces Round #554 (Div. 2) C. Neko does Maths (简单推导)的更多相关文章

  1. Codeforces Round #554 (Div. 2) C.Neko does Maths (gcd的运用)

    题目链接:https://codeforces.com/contest/1152/problem/C 题目大意:给定两个正整数a,b,其中(1<=a,b<=1e9),求一个正整数k(0&l ...

  2. Codeforces Round #554 (Div. 2) C. Neko does Maths(数学+GCD)

    传送门 题意: 给出两个整数a,b: 求解使得LCM(a+k,b+k)最小的k,如果有多个k使得LCM()最小,输出最小的k: 思路: 刚开始推了好半天公式,一顿xjb乱操作: 后来,看了一下题解,看 ...

  3. Codeforces Round #554 (Div. 2) C. Neko does Maths (数论 GCD(a,b) = GCD(a,b-a))

    传送门 •题意 给出两个正整数 a,b: 求解 k ,使得 LCM(a+k,b+k) 最小,如果有多个 k 使得 LCM() 最小,输出最小的k: •思路 时隔很久,又重新做这个题 温故果然可以知新❤ ...

  4. Codeforces Round #554 (Div. 2) 1152B. Neko Performs Cat Furrier Transform

    学了这么久,来打一次CF看看自己学的怎么样吧 too young too simple 1152B. Neko Performs Cat Furrier Transform 题目链接:"ht ...

  5. Codeforces Round #554 (Div. 2) 1152A - Neko Finds Grapes

    学了这么久,来打一次CF看看自己学的怎么样吧 too young too simple 1152A - Neko Finds Grapes 题目链接:"https://codeforces. ...

  6. Codeforces Round #554 (Div. 2) B. Neko Performs Cat Furrier Transform(思维题+log2求解二进制位数的小技巧)

    传送门 题意: 给出一个数x,有两个操作: ①:x ^= 2k-1; ②:x++; 每次操作都是从①开始,紧接着是② ①②操作循环进行,问经过多少步操作后,x可以变为2p-1的格式? 最多操作40次, ...

  7. Codeforces Round #554 (Div. 2) E Neko and Flashback (欧拉路径 邻接表实现(当前弧优化..))

    就是一欧拉路径 贴出邻接表欧拉路径 CODE #include <bits/stdc++.h> using namespace std; const int MAXN = 100005; ...

  8. Codeforces Round #554 (Div. 2) F2. Neko Rules the Catniverse (Large Version) (矩阵快速幂 状压DP)

    题意 有nnn个点,每个点只能走到编号在[1,min(n+m,1)][1,min(n+m,1)][1,min(n+m,1)]范围内的点.求路径长度恰好为kkk的简单路径(一个点最多走一次)数. 1≤n ...

  9. Codeforce Round #554 Div.2 C - Neko does Maths

    数论 gcd 看到这个题其实知道应该是和(a+k)(b+k)/gcd(a+k,b+k)有关,但是之后推了半天,思路全无. 然而..有一个引理: gcd(a, b) = gcd(a, b - a) = ...

随机推荐

  1. docker笔记(3) ------Django项目的docker部署

    2019-01-12   14:23:18 django容器连接到mysql_server容器分析:原myblog项目使用sqlit3数据库,使用mysql容器前需要在django中加入pymysql ...

  2. go日常问题记录

    1.log.Fatalln()是会强制结束进程.不要用Fatal或Panic开头的 panic是go语言一种错误处理,类似于throw,如果没人catch它,程序就会挂掉,go语言的catch是rec ...

  3. 【React】学习之道

    一.工欲善其事必先利其器 - 准备工作 安装vscode:https://code.visualstudio.com/ 安装node.js:https://nodejs.org/en/ 安装gitba ...

  4. Hadoop2.X管理与开发

    Hadoop 2.X 管理与开发 一.Hadoop的起源与背景知识 (一)什么是大数据 大数据(Big Data),指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式 ...

  5. (转)如何在maven的pom.xml中添加本地jar包

    转载自: https://www.cnblogs.com/lixuwu/p/5855031.html 1 maven本地仓库认识 maven本地仓库中的jar目录一般分为三层:图中的1 2 3分别如下 ...

  6. kubernetes1.13.5安装部署

    Kubernetes 一.    Kubernetes介绍 各节点所需组件 Master:docker,kubeadm,kubelet, 组件 版本 备注 Kubelet 1.13.5 组件 Kube ...

  7. APP多开教程

    https://bbs.feng.com/read-htm-tid-11793134.html 本教程原创,送给有需要的人.本人就为了多开百度云盘传数据,故多开两个百度云盘,亲测一周多没毛病.微信多开 ...

  8. 修改xml成正方形,保存

    import os import xml.etree.ElementTree as ET import cv2 origin_ann_dir = 'D:/Data/MyAnnoData/vmwareD ...

  9. C# T 泛型类,泛型方法的约束条件用法

    class A<T> where T:new() 这是类型参数约束,where表名了对类型变量T的约束关系.where T:A 表示类型变量是继承于A的,或者是A本省.where T: n ...

  10. MS17-010漏洞复现

     攻击机:192.168.148.132  kali linux2018.2  x64 靶机:192.168.1.129    win7   x64 首先用msfconsole的smb模块扫描,看看是 ...