c语言中的最大公约数和最小公倍数

img

A=4,B=10,要转换为二进制做或操作,简单一点,转为一个字节参考:

A=4的二进制是:00000100
B=10的二进制是:00001010
00000100
00001010


00001110
8+4+2=14

你的题目跟你的图片没关系啊。最大公约数和最小公倍数的代码如下:

#include <stdio.h>
int main()
{
    int m,n;
    int t,gys;
    long long gbs;
    scanf("%d %d",&m,&n);
    if(m>n)
        t =n;
    else
        t = m;

    //先求公约数
    for (;t>=1;t--)
    {
        if(m%t==0 && n%t==0)
            break;
    }
    gys = t;

    gbs = (long long)m/t*n;
    printf("%d 和%d 的公约数是%d,公倍数是%lld",m,n,gys,gbs);
    return 0;
}