• 题意:给你一个正整数\(x\),找两个正整数\(a\),\(b\),使得\(lcm(a,b)=x\),并且\(max(a,b)\)最小.

  • 题解:我们知道,\(lcm(a,b)=a*b/gcd(a,b)\),所以如果\(a\)和\(b\)不互质,那么\(a*b\)必然可以约去一个\(gcd(a,b)\),也就表示\(max(a,b)\)的值可以变得更小,所以我们要找的\(a\)和\(b\)必然要互质,即得到\(gcd(a,b)=1\),从而推出\(a*b=x\),所以我们可以直接枚举到\(\sqrt{x}\),更新最小值即可.

  • 代码:

    ll x;
    ll ans1,ans2,res=1e18; int main() {
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    cin>>x; for(ll i=1;i*i<=x;++i){
    if(x%i) continue;
    if(__gcd(i,x/i)==1 && res>max(i,x/i)){
    ans1=i,ans2=x/i;
    }
    } cout<<ans1<<' '<<ans2<<endl; return 0;
    }

最新文章

  1. 在github上写个人简历——最简单却又不容易的内容罗列
  2. C语言实现二叉树-利用二叉树统计单词数目
  3. python中的Unittest常用方法
  4. netty 入门
  5. Android与PHP服务器交互
  6. Linux安装QQ 2017
  7. ZendStudio快捷键 注释的快捷键
  8. iOS手机号正则表达式并实现344格式 (正则的另一种实现方式)
  9. Unity学习入门
  10. hdu1012
  11. qt中moc的作用
  12. A glance at endpoint security
  13. 学习poisson.c
  14. IScroll基本用法
  15. 【转载】vi/vim使用进阶: 指随意动,移动如飞 (一)
  16. mysql表分区案例
  17. 【leetcode】27-RemoveElement
  18. pandas中series和dataframe之间的区别
  19. SWT table性能改善 -- 使用VirtualTable
  20. # 20155222 2016-2017-2 《Java程序设计》第5周学习总结

热门文章

  1. Js中函数式编程的理解
  2. pidof
  3. show engine innodb status
  4. JavaScript入门-对象
  5. 敏捷史话(四):敏捷是人的天性 —— Arie van Bennekum
  6. SAP内表类型及其数据读取效率评估
  7. Linux操作系统相关资料
  8. 【工具篇】Mysql的安装和使用
  9. JVM(八)执行引擎相关内容
  10. 糊糊的学习笔记--Fiddle抓包