HDU - 5974 A Simple Math Problem 题解
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 题解相关推荐
- 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 & ...
- 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 * ...
- HDU 1757 A Simple Math Problem (矩阵快速幂)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1757 在吴神的帮助下才明白如何构造矩阵,还是好弱啊. 此处盗一张图 1 #include <io ...
- 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) + -- ...
- 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) + -- + ...
- 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 ...
- 43行代码AC——HDU 1757 A Simple Math Problem(矩阵快速幂,附快速幂讲解)
一道经典的矩阵快速幂模板题. 传送门1-->快速幂基本思想 传送门2-->矩阵快速幂讲解(教主传授) 代码(去掉空行43行) #include<iostream> #inclu ...
- FZYZ-2071 A Simple Math Problem IX
P2071 -- A Simple Math Problem IX 时间限制:1000MS 内存限制:262144KB 状态:Accepted 标签: 数学问题-博弈论 ...
- 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] ...
最新文章
- 太嚣张了!会Python的人!
- Delphi中uses在interfeace和implementation中的区别
- 网络时间服务和chrony
- java int biginteger_[十六]基础类型BigInteger简介
- QT_Astyle 代码管理工具
- angular2 图表指令ng2-echarts
- 原来程序员的大部分时间并不是写代码
- nginx 启动失败
- Mesos:拒绝微软1.4亿美金收购的独角兽
- UAT测试和SIT测试
- SeSe 2004-12-18
- 国外一个免费的基于Java的PLC梯形图逻辑编辑与仿真软件
- 史上最详细springboot vue UEditor整合(包括遇到的各种坑)
- 常见的树形结构(一)
- 弹出页面代码及相关解释
- 数据库中主外键概念详细介绍
- 清华大模型人才遭哄抢!盘点5大学术重镇10大产业玩家
- 两分钟永久搞定Github加速问题!!!
- 基于SpringBoot的医院门诊管理系统,高质量毕业论文范例-可直接参考使用,附源码和数据库脚本,项目导入运行视频教程,论文撰写教程
- 【CASS精品教程】win10安装CAD+CASS过程中出现的错误问题及解决办法集锦