题解 | #小乐乐与欧几里得#

小乐乐与欧几里得

http://www.nowcoder.com/practice/da13e0cf321e4df9acd0fdf0a433cbb0

#include<stdio.h>
long zdgys(long a,long b)//定义一个求最大公约数的函数
{
    long x=a%b;
    return x==0?b:zdgys(b,x);//如果a%b等于0,则b就是最大公约数,否则让b替换a,让a%b替换b继续递归求
}
long zxgbs(long a,long b)//定义一个求最小公倍数的函数
{
    return (a/zdgys(a, b))*b;//注意要先除再乘,防止出现溢出的情况,相乘的情况最容易溢出
}
int main(void)
{
    long n,m;
    while((scanf("%lld %lld",&n,&m))!=EOF)
    {
        printf("%lld",zdgys(n,m)+zxgbs(n,m));
    }
    return 0;
}
全部评论

相关推荐

09-21 21:14
门头沟学院
否极泰来来来来:和他说:这里不好骂你,我们加个微信聊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务