1037

1037题目描述

写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。

输入

两个数

输出

最大公约数 最小公倍数

样例输入

6 15

样例输出

3 30

思路:辗转相除法求最大公约数,公式法(两数的乘积除以最大公约数)求最小公倍数,代码献上,欢迎指教。

#include<iostream>
using namespace std;

int max_(int num_a, int num_b){//最大公约数 
    if(num_a < num_b){
        int temp = num_a;
        num_a = num_b;
        num_b = temp;
    }
    if(num_a % num_b == 0){ //辗转相除法 
        return num_b;
    }else{
        return max_(num_b, num_a % num_b);
    }
}

int min_(int num_a, int num_b, int num){  //最小公倍数 
    return (num_a * num_b) / num;    //公式法 
}
int main(){
    int num_a, num_b;
    cin >> num_a >> num_b;
    cout << max_(num_a, num_b) << " ";
    cout << min_(num_a, num_b, max_(num_a, num_b)) << endl;    
    return 0;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值