Codeforces Round #613 (Div. 2) C. Fadi and LCM
C. Fadi and LCM
Today, Osama gave Fadi an integer X, and Fadi was wondering about the minimum possible value of max(a,b) such that LCM(a,b) equals X. Both a and b should be positive integers.
LCM(a,b) is the smallest positive integer that is divisible by both a and b. For example, LCM(6,8)=24, LCM(4,12)=12, LCM(2,3)=6.
Of course, Fadi immediately knew the answer. Can you be just like Fadi and find any such pair?
Input The first and only line contains an integer X (1≤X≤1012).
Output Print two positive integers, a and b, such that the value of max(a,b) is minimum possible and LCM(a,b) equals X. If there are several possible such pairs, you can print any.
Examples inputCopy 2 outputCopy 1 2 inputCopy 6 outputCopy 2 3 inputCopy 4 outputCopy 1 4 inputCopy 1 outputCopy 1 1
题意描述:这道题就是给你一个数X,让你输出两个数,这两个数要满足:1.LCM(m,n)=x 也就是说,这两个数的最小公倍数是X。2.使得max(a,b)的值最小,举个例子,如果X为6的话,那么有两种情况:LCM(1,6)和LCM(2,3),要使得max(a,b)的值最小,所以输出的就是2和3。刚看到题的时候,脑袋很迷糊,在想使得max(a,b)的值最小是什么意思,弄懂了这一点,就很简单了。要想max(a,b)的值最小,那么就从1枚举到sqrt(X),求得最大的因子。
AC代码如下:
import java.util.Scanner;
public class Main {
private static int[] ans=new int[1000001];
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
long x=cin.nextLong();
long max=0;
for(long i=1;i*i<=x;i++) {
if(lcm(i,x/i)==x&&gcd(i,x/i)==1) {
max=Math.max(max, i);
}
}
System.out.println(max+" "+x/max);
}
public static long gcd(long m,long n) {
return m%n==0?n:gcd(n,m%n);
}
public static long lcm(long m,long n) {
return m*n/gcd(m,n);
}
}
原题链接https://codeforces.com/contest/1285/problem/C
- 苹果为你的心跳开发一个读者
- 建立可扩展的silverlight 应用框架 step-5
- 安卓 iOS 版双双更新!还带来一大波小游戏
- 建立可扩展的silverlight 应用框架 step-4
- 全自动驾驶,吹牛容易实现难!有90%的人都不了解这些细节
- .NET4.0下web应用程序用UrlRewriter.dll重写无后缀路径
- Silverlight中摄像头的运用—part2
- 区块链小白投资入门操作指南(上)
- 《我的WCF之旅》博文系列汇总
- 网站出现“Service Unavailable”提示该如何解决
- Silverlight 4 中摄像头的运用—part1
- Silverlight 4 中摄像头的运用—part1
- Silverlight 4 中数据绑定发生的变化
- 未来3年 人工智能如何影响法律行业?5位权威专家给出趋势
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法