求大老解答一个大一oj题

img


#include<iostream>
using namespace std;
//最大公约数
int gcd(int a, int b) {
    return b == 0 ? a : gcd(b, a % b);
}
int lcm(int a, int b) {//这需要a>=b
    return a * b / gcd(a, b);
}

#include <stdio.h>
//给定两个正整数,计算这两个数的最小公倍数
int main()
{
    int a,b,c,i,count,tmp,j=0;
    int arr[64];
    printf("输入几组数据?:");
    scanf("%d",&count);
    tmp = count;
    printf("输入每组的两个整数:");
    while(tmp--)
    {
        scanf("%d%d",&a,&b);
        for(i=1;i<1000*1000;i++)
        {
            if(i%a==0 && i%b==0)
            {
                arr[j] = i;
                j++;
                break;
            }   
        }   
    }

    for(j=0;j<count;j++)
    {
        printf("%d\n",arr[j]);
    }   
//  printf("最小公倍数为:%d\n",c);
}

#include<stdio.h>

int main() {
    int a, b;
    scanf("%d%d", &a, &b);

    for (int i = 1; ; i++)
        if (i%a == 0 && i%b == 0) { //寻找能同时整除a,b的整数i
            printf("%d", i);
            break;//找到,退出
        }

    return 0;
}



img


#include <stdio.h>
//给定两个正整数,计算这两个数的最小公倍数
int main()
{
    int a,b,c,i;
    printf("输入两个整数:");
    scanf("%d%d",&a,&b);

    for(i=1;i<1000*1000;i++)
    {   
        if(i%a==0 && i%b==0)
        {
            c = i;
            break;
        }
    }   
    printf("最小公倍数为:%d\n",c);
}