杭电1019 Least Common Multiple【求最小公倍数】
2014-11-08 17:39
337 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1019
解题思路:lcm(a,b)=a*b/gcd(a,b)
反思:最开始提交的时候WA,以为是溢出了,于是改成了long long,还是WA,于是就不明白了,于是就去看了discuss,发现应该这样来写
lcm(a,b)=a*gcd(a,b)*b;是为了以防a乘以b太大溢出,注意啊!!!!所以就先除再乘。
解题思路:lcm(a,b)=a*b/gcd(a,b)
反思:最开始提交的时候WA,以为是溢出了,于是改成了long long,还是WA,于是就不明白了,于是就去看了discuss,发现应该这样来写
lcm(a,b)=a*gcd(a,b)*b;是为了以防a乘以b太大溢出,注意啊!!!!所以就先除再乘。
#include<stdio.h> int gcd(int a,int b) { int t,r; if(a<b) { t=a; a=b; b=t; } r=a%b; while(r!=0) { a=b; b=r; r=a%b; } return b; } int main() { int ncase; int n; int a; scanf("%d",&ncase); while(ncase--) { long s=1; scanf("%d",&n); while(n--) { scanf("%d",&a); s=s/gcd(s,a)*a; } printf("%ld\n",s); } }
相关文章推荐
- 杭电1019-Least Common Multiple
- 杭电acm 1019 Least Common Multiple
- 杭电ACM HDU 1019 Least Common Multiple
- 杭电acm 1019 Least Common Multiple
- HDOJ——1019:Least Common Multiple(求n个数的最小公倍数)
- 杭电1019 Least Common Multiple(已解决)
- HDU1019 Least Common Multiple(求多个数的最小公倍数)
- HDU1019 Least Common Multiple 就是求最小公倍数
- 杭电 1019 Least Common Multiple
- 杭电ACM OJ 1019 Least Common Multiple 质因子最快速求最大公因数和最小公倍数
- HDOJ1019 Least Common Multiple(求多个数的最小公倍数)
- hdu 1019 Least Common Multiple(数论:求最小公倍数)
- 杭电 HDU 1019 Least Common Multiple
- HDU——1019Least Common Multiple(多个数的最小公倍数)
- HDU 1019 Least Common Multiple 最小公倍数 水题
- HDU-1019-Least Common Multiple( 最大公约数 && 最小公倍数 && GCD )
- 杭电Hd 1019 Least Common Multiple
- hdu 1019 Least Common Multiple(几个数的最小公倍数)
- HDU 1019 Least Common Multiple(求最小公倍数)
- hdoj Least Common Multiple 1019 && 2028 (n个数的最小公倍数)