第十二周-求两个整数的最大公约数和最小公倍数

来源:互联网 发布:中俄联手打美国知乎 编辑:程序博客网 时间:2024/06/05 15:13
#include<stdio.h>#include <stdlib.h>int main(){    int n,m,gys,gbs;    int gcd(int a, int b);    int lcm(int a, int b);    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 q;/*    if(a<b)    {        a=a^b;        b=a^b;        a=a^b;    }*/    while(a%b!=0)    {        q=a%b;        a=b;        b=q;    }    return b;}int lcm(int a,int b){    return(a*b/gcd(a,b));}//百度得到的一个神奇套路//int gcd(int a,int b)//{//return (b==0)?a:gcd(b,a%b)//}//瞬间凌乱//参考网上答案,之前我加的使a>b的句子可以不要//因为当a<b时,a%b=a,所以第一次循环结束返回的值就是b,a

0 0
原创粉丝点击