传送门

•题意

一直整数$a,b$,有

$\left\{\begin{matrix}
x+y=a\\
LCM(x*y)=b
\end{matrix}\right.$

求$x,y$

•思路

解题重点:若$gcd(p,q)=1$,则$gcd(p+q,pq)=1$

设$gcd(x,y)=g$,令$p=\frac{x}{g},q=\frac{y}{g}$,$p,q$互素

则$\left\{\begin{matrix}
x+y=p*g+q*g=(p+q)g=a\\
LCM(x,y)=\frac{xy}{g}=p*q*g=b
\end{matrix}\right.$

由于$p,q$互素,所以$gcd(a+b,ab)=gcd((p+q)*g,pqg)=g$

所以的$gcd(x,y)=g=gcd(a+b,ab)$

$\left\{\begin{matrix}
x+y=a\\
xy=bgcd(a,b)
\end{matrix}\right.$

然后解方程组就ok了,

不过要注意输出$x,y$先后顺序

小的在前,大的在后,虽然题目里没说,但因为这wa了

•代码

 #include<bits/stdc++.h>
using namespace std;
#define ll long long
ll x,y,a,b;
int main()
{
while(~scanf("%lld%lld",&a,&b))
{
bool flag=true;
ll gcd=__gcd(a,b);
ll ssub=a*a-*b*gcd;
ll sub=sqrt(ssub);
if(ssub!=sub*sub)
flag=false;
if((a+sub)%)
flag=false;
x=(a+sub)/;
y=a-x;
if(flag)
printf("%lld %lld\n",min(x,y),max(x,y));
else
puts("No Solution");
}
}

[数论] hdu 5974 A Simple Math Problem (数论gcd)的更多相关文章

  1. HDU 5974 A Simple Math Problem(数论+结论)

    Problem Description Given two positive integers a and b,find suitable X and Y to meet the conditions ...

  2. HDU 5974"A Simple Math Problem"(GCD(a,b) = GCD(a+b,ab) = 1)

    传送门 •题意 已知 $a,b$,求满足 $x+y=a\ ,\ LCM(x,y)=b$ 条件的 $x,y$: 其中,$a,b$ 为正整数,$x,y$ 为整数: •题解 关键式子:设 $a,b$ 为正整 ...

  3. hdu 5974 A Simple Math Problem

    A Simple Math Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Ot ...

  4. HDU 5974 A Simple Math Problem ——(数论,大连区域赛)

    给大一的排位赛中数论的一题.好吧不会做...提供一个题解吧:http://blog.csdn.net/aozil_yang/article/details/53538854. 又学了一个新的公式..如 ...

  5. HDU - 5974 A Simple Math Problem (数论 GCD)

    题目描述: Given two positive integers a and b,find suitable X and Y to meet the conditions: X+Y=a Least ...

  6. HDU 5974 A Simple Math Problem 数学题

    http://acm.hdu.edu.cn/showproblem.php?pid=5974 遇到数学题真的跪.. 题目要求 X + Y = a lcm(X, Y) = b 设c = gcd(x, y ...

  7. hdu 5974 A Simple Math Problem(数学题)

    Problem Description Given two positive integers a and b,find suitable X and Y to meet the conditions ...

  8. HDU 5974 A Simple Math Problem (解方程)

    题意:给定a和b,求一组满足x+y=a && lcm(x, y)=b. 析:x+y = a, lcm(x, y) = b,=>x + y = a, x * y = b * k,其 ...

  9. hdu 5974 A Simple Math Problem gcd(x,y)=gcd((x+y),lcm(x,y))

    题目链接 题意 现有\[x+y=a\\lcm(x,y)=b\]找出满足条件的正整数\(x,y\). \(a\leq 2e5,b\leq 1e9,数据组数12W\). 思路 结论 \(gcd(x,y)= ...

随机推荐

  1. 微服务开源生态报告 No.4

    「微服务开源生态报告」,汇集各个开源项目近期的社区动态,帮助开发者们更高效的了解到各开源项目的最新进展. 社区动态包括,但不限于:版本发布.人员动态.项目动态和规划.培训和活动. 非常欢迎国内其他微服 ...

  2. @topcoder - SRM766R1 D1L3@ ShortestMissingSubsequences

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个大小为 G 的字符集,并给定一个长度为 N 的字符串 A ...

  3. js单选按钮的默认值

    function SelectWindow(str) { initradio('PhysiotherapyOptionsTable.Sex',sex);       } function initra ...

  4. Resource Management in View Controllers

    UIViewController生命周期 UIViewControl是IOS程序中的一个重要组成部分,扮演者一个大管家的身份,管理着程序中的众多视图,今天看看了官方文档并做了如下一些简单的记录: 何时 ...

  5. IDEA入门(1)--lombok和Junit generator2插件的运用

    前言 最近在慕课网看到了一些视频,准备从0开始做一个电商网站.视频中的大牛用的java的IDE都是IDEA,让我很纠结.从as到MyEclipse,好不容易稍微熟悉了一下MyEclipse的基本操作, ...

  6. 在oracle中操作数据——使用特点的格式插入日期 sql函数的使用——日期函数

    日期函数用于处理date类型的数据,默认情况下的日期格式是dd-mm-yy即12-7月-78 (1)sysdate:该函数返回系统时间 (2)add_months(d,n) (3)last_day(d ...

  7. docker的ubuntu镜像无ifconfig和ping命令

    docker的ubuntu镜像无ifconfig和ping命令 或者 ubuntu系统中无ifconfig 和 ping 解决方案: 执行以下鸣冷: apt-get update apt-get in ...

  8. python 操作asdl

    #!/usr/bin/env python# -*- coding:utf-8 -*- import win32ras import time,os def Connect(dialname, acc ...

  9. selenium webdriver学习(五)------------iframe的处理(转)

    selenium webdriver学习(五)------------iframe的处理 博客分类: Selenium-webdriver 如何定位frame中元素  有时候我们在定位一个页面元素的时 ...

  10. oracle避免使用耗费资源的操作

    带有DISTINCT,UNION,MINUS,INTERSECT,ORDER BY的SQL语句会启动SQL引擎 执行耗费资源的排序(SORT)功能. DISTINCT需要一次排序操作, 而其他的至少需 ...