D - Simple Math Problem

戳上方进入原题哟~


题目大意

给一个数 a,b。 让你求满足一下条件的 X,Y:

  • X+Y = a
  • LCM(X,Y) = b

解析

题目给出时间限制1s,这道题暴力肯定过不了了0.0。

在审题的时候,突然发现 gcd(a,b) = gcd(X,Y),个人感觉这是解题关键于是就以这个为基础开始推导:

设gcd(a,b) = gcd(X,Y) = g
则有 gk1 = X , gk2 = Y
不难看出 a = g*(k1+k2)
b = g * k1 * k2 ------------------------> 取 g* k1 = X为例,那么 b = X * k2 一目了然为什么 b为这个式子

故有 k1k2 = b/g , k1+k2 = a/g

那么对于第一个式子同时乘g^2,第二个式子同时乘g得到: XY= b*g , X+Y = a

由于a , b已知则不难求出 X,Y


代码

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std;
const int BOKI = 1e6+10;
typedef long long ll;int gcd(int a,int b){ return b?gcd(b,a%b):a;}int main(){int a,b;while(cin >> a >> b){ll g = gcd(a,b);ll d=(a*a)-(4*b*g);if(d < 0){cout << "No Solution" << endl;continue;}ll x=(a+sqrt(d))/2;ll y=a-x;if(x*y==b*g){cout<<y<<" "<<x<<endl;}else{cout<<"No Solution"<<endl;}}return 0;
}

END

HDU - 5974 A Simple Math Problem 题解相关推荐

  1. HDU 1757 A Simple Math Problem

    Problem Description Lele now is thinking about a simple function f(x). If x < 10 f(x) = x. If x & ...

  2. HDU - 1757 A Simple Math Problem (矩阵快速幂)

    Lele now is thinking about a simple function f(x). If x < 10 f(x) = x.  If x >= 10 f(x) = a0 * ...

  3. HDU 1757 A Simple Math Problem (矩阵快速幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1757 在吴神的帮助下才明白如何构造矩阵,还是好弱啊. 此处盗一张图 1 #include <io ...

  4. HDU 1757 A Simple Math Problem(矩阵快速幂)

    题目链接 题意 :给你m和k, 让你求f(k)%m.如果k<10,f(k) = k,否则 f(k) = a0 * f(k-1) + a1 * f(k-2) + a2 * f(k-3) + -- ...

  5. hdu 1757 A Simple Math Problem 构造矩阵

    题意:函数f(x), 若 x < 10 f(x) = x. 若 x >= 10 f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + -- + ...

  6. HDU - 1757 A Simple Math Problem(矩阵快速幂,水题)

    题目链接:点击查看 题目大意:实现公式: f(x)=x,x<10 f(x)=a0*f(x-1)+a1*f(x-2)+--+a9*f(x-10) 题目给出a0~a9,一个n和一个m,要求输出f(n ...

  7. 43行代码AC——HDU 1757 A Simple Math Problem(矩阵快速幂,附快速幂讲解)

    一道经典的矩阵快速幂模板题. 传送门1-->快速幂基本思想 传送门2-->矩阵快速幂讲解(教主传授) 代码(去掉空行43行) #include<iostream> #inclu ...

  8. FZYZ-2071 A Simple Math Problem IX

    P2071 -- A Simple Math Problem IX 时间限制:1000MS      内存限制:262144KB 状态:Accepted      标签:    数学问题-博弈论    ...

  9. A Simple Math Problem(2020 ICPC 江西省省赛)

    A Simple Math Problem ∑i=1n∑j=1if(j)[gcd(i,j)=1]∑i=1n∑j=inf(i)[gcd(i,j)=1]∑i=1n∑j=1nf(i)[gcd(i,j)=1] ...

最新文章

  1. 太嚣张了!会Python的人!
  2. Delphi中uses在interfeace和implementation中的区别
  3. 网络时间服务和chrony
  4. java int biginteger_[十六]基础类型BigInteger简介
  5. QT_Astyle 代码管理工具
  6. angular2 图表指令ng2-echarts
  7. 原来程序员的大部分时间并不是写代码
  8. nginx 启动失败
  9. Mesos:拒绝微软1.4亿美金收购的独角兽
  10. UAT测试和SIT测试
  11. SeSe 2004-12-18
  12. 国外一个免费的基于Java的PLC梯形图逻辑编辑与仿真软件
  13. 史上最详细springboot vue UEditor整合(包括遇到的各种坑)
  14. 常见的树形结构(一)
  15. 弹出页面代码及相关解释
  16. 数据库中主外键概念详细介绍
  17. 清华大模型人才遭哄抢!盘点5大学术重镇10大产业玩家
  18. 两分钟永久搞定Github加速问题!!!
  19. 基于SpringBoot的医院门诊管理系统,高质量毕业论文范例-可直接参考使用,附源码和数据库脚本,项目导入运行视频教程,论文撰写教程
  20. 【CASS精品教程】win10安装CAD+CASS过程中出现的错误问题及解决办法集锦

热门文章

  1. 共享盘/文件夹加密及连接
  2. VMware Workstation10虚拟机与Windows10专业版的兼容性问题
  3. Oracle WorkFlow 工作流 中篇
  4. 什么是指令周期?什么是机器周期?什么是时钟周期?三者之间的关系如何?
  5. euclidea4攻略_Euclidea几何构建11.4通关攻略
  6. 让div水平居中的7种方法
  7. matlab 计算变异系数,(案例)基础统计指标Matlab计算函数
  8. 高新兴ME3616C1A模组连接阿里云平台
  9. 常微分方程_什么是微分方程
  10. LeetCode Problems #935