HDOJ 1019 Least Common Multiple
2017-10-15 11:27
295 查看
HDACM1019
此题是求多个数的最小公倍数,可以把多个转成每两个数直接求它们的最小公倍数,而求最小公倍数的方法是:两个数的乘积除以俩个数的最大公约数(a/gcd(a,lcm)*lcm)一个数先除以它们的最大公约数在乘上另一个数,不然可能会超出范围导致结果错误
求最大公约数:假设一个数为a(a > b),另一个数为b(b < a),它们的最大公约数为gcd,则a%gcd==0,b%gcd==0.
此题是求多个数的最小公倍数,可以把多个转成每两个数直接求它们的最小公倍数,而求最小公倍数的方法是:两个数的乘积除以俩个数的最大公约数(a/gcd(a,lcm)*lcm)一个数先除以它们的最大公约数在乘上另一个数,不然可能会超出范围导致结果错误
求最大公约数:假设一个数为a(a > b),另一个数为b(b < a),它们的最大公约数为gcd,则a%gcd==0,b%gcd==0.
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner( System.in); int n = sc.nextInt(); while (n-->0) { int m = sc.nextInt(); int lcm = sc.nextInt(); while(m-- > 1){ int a = sc.nextInt(); lcm = a/gcd(a,lcm)*lcm; } System.out.println(lcm); } } public static int gcd(int a,int b ){ int r=1; while (r>0) { r = a%b; a = b; b = r; } return a; } }
相关文章推荐
- hdoj1019--Least Common Multiple
- HDOJ1019 Least Common Multiple
- hdoj 1019 Least Common Multiple
- hdoj Least Common Multiple 1019 && 2028 (n个数的最小公倍数)
- HDOJ 1019 Least Common Multiple
- HDOJ1019 Least Common Multiple
- HDOJ1019 Least Common Multiple
- HDOJ 1019 Least Common Multiple
- HDOJ 1019 Least Common Multiple(最小公倍数问题)
- Hdoj 1019 Least Common Multiple
- (HDOJ 1019)Least Common Multiple
- HDOJ 1019 Least Common Multiple(最小公倍数问题)
- HDOJ 1019 Least Common Multiple(数学)
- ACM--最大公约数--HDOJ 1019--Least Common Multiple--水
- hdu/hdoj 1019 Least Common Multiple
- HDOJ 1019 Least Common Multiple
- 【HDOJ】1019 -> Least Common Multiple
- HDOJ1019 Least Common Multiple(求多个数的最小公倍数)
- HDOJ——1019:Least Common Multiple(求n个数的最小公倍数)
- hdoj1019 Least Common Multiple(多个数求最小公倍数)