第十一周 oj训练 求两个整数的最大公约数和最小公倍数

Copyright (c) 2016 烟台大学计算机与控制工程学院
All rights reserved.
文件名称:test.cpp
作者:何定钦
完成日期:2016年11月15日
题目描述:
    写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。
输入:
    两个整数
输出:
    两个数的最大公约数和最小公倍数
样例输入:
    6 15
样例输出:
    3 30
分析:
#include 
#include 
int gcd(int a, int b);
int lcm(int a, int b);
int main()
{
    int n,m,gys,gbs;
    scanf("%d%d",&n,&m);
    gys=gcd(n,m);
    gbs=lcm(n,m);
    printf("%d %d\n",gys,gbs);
    return 0;
}
int gcd(int a,int b)
{
    int r;
    do
    {
        r=a%b;
        a=b;
        b=r;
    }
    while(r!=0);
    return a;
}
int lcm(int a,int b)
{
    int r;
    r=(a*b)/gcd(a,b);
    return r;
}

结果:

第十一周 oj训练 求两个整数的最大公约数和最小公倍数_第1张图片

知识点总结:

学习了辗转相除法,以及双重函数的调用。

心得体会:

主要是要知道算法,知道算法之后就简单多了。

你可能感兴趣的:(第十一周 oj训练 求两个整数的最大公约数和最小公倍数)