C语言编程100题-7.8

7.8
输入两个正整数,输出其中最大公约数和最小公倍数。

  1. 求p和q的最大公约数的欧几里德算法:
    (1)输入p和q(p>q)
    (2)计算p和q的余数r
    (3)r=0时,q即为最大公约数,转第(4)步
    否则,令p=q,q=r,继续执行第(2)步
    (4)输出q
  2. p和q的最小公倍数为p乘以q再除以它们的最大公约数。
    如输入:
    15,25
    则输出:
    最大公约数是5
    最小公倍数是75
    样例输入:
    5,7
    样例输出:
    最大公约数是1
    最小公倍数是35
#include<stdio.h>
int main()
{
       int p, q, r,s,t;
       scanf("%d,%d", &p, &q);
       s = p * q;
       while (p%q != 0)
       {
              r = p % q;
              p = q, q = r;
       }
       printf("最大公约数是%d\n", q);
       t = s / q;
       printf("最小公倍数是%d", t);
       system("pause");
       return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值