C语言算法——求两个正整数的最大公约数和最小公倍数

求两个正整数的最大公约数

#include <stdio.h>
int main()
{
    
    
    //求两个数的最大公约数
    int yueshu(int a,int b);
    int a,b;
    printf("请输入两个数:");
    scanf("%d %d",&a,&b);
    printf("%d 和 %d 的最大公约数为:%d",a,b,yueshu(a,b));
//    printf("\n");
    puts("\n");
}

int yueshu(int a,int b){
    
    
    int min=a;
    if(a>b)
        min=b;
    while(min>=1){
    
    
        if(a%min==0 && b%min==0){
    
    
            break;
        }
        min--;
    }
    return min;
}

在这里插入图片描述

求两个正整数的最小公倍数

#include <stdio.h>
int main()
{
    
    
    //求两个数的小公倍数
    int beishu(int a,int b);
    int a,b;
    printf("请输入两个数:");
    scanf("%d %d",&a,&b);
    printf("%d 和 %d 的最小公倍数为:%d",a,b,beishu(a,b));
//    printf("\n");
    puts("\n");
}

int beishu(int a,int b){
    
    
    int max=a;
    if(a<b)
        max=b;
    while(1){
    
    
        if(max%a==0 && max%b==0){
    
    
            break;
        }
        max++;
    }
    return max;
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45696288/article/details/122286182