基准时间限制:1 秒 空间限制:131072 KB 分值: 0
难度:基础题
输入2个正整数A,B,求A与B的最小公倍数。
Input
2个数A,B,中间用空格隔开。(1<= A,B <= 10^9)
Output
输出A与B的最小公倍数。
Input示例
30 105
Output示例
210 自己之前写的代码太丑了。数学方面的东西,自己还是需要多加练习。
#include<stdio.h> #define LL long long LL gcd(LL a,LL b) { if(a%b==0) return b; else return gcd(b,a%b); } LL lcm(LL a,LL b) { return (a/gcd(a,b)*b);//如果是int,这样处理可以防止溢出 } int main() { LL n,m; while(scanf("%lld%lld",&n,&m)!=EOF) { printf("%lld\n",lcm(n,m)); } return 0; }

本文介绍了一个简洁高效的算法来计算两个正整数A和B的最小公倍数(LCM)。通过定义两个辅助函数:一个用于计算最大公约数(GCD),另一个用于计算最小公倍数。该算法避免了整数溢出的问题,并提供了完整的C语言实现代码。
1797

被折叠的 条评论
为什么被折叠?



