今天的第一个练习---求两个数的最大公约数

本文介绍了一个使用 C++ 编写的简单程序来计算两个整数的最大公约数(GCD)。通过用户输入两个整数,程序运用辗转相除法进行计算并输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看看效果用vi编写,G++编译的

刚开始的时候把getmax()写到main()后边去了,新手,看来光看书是不行的,还得多练手
把代码贴出来:
  1. /*
  2.  * function getmax() is used to Calculate
  3.  *the greatest common denominator
  4.  *of two number
  5.  */
  6. #include <iostream>
  7. int getmax(int x, int y) {
  8.     int temp;
  9.     if (x < y) {
  10.         temp = x;
  11.         x = y;
  12.         y = temp;
  13.     }
  14.     if (x % y == 0) {
  15.     return y;
  16.     } else {
  17.         while (x % y) {
  18.         temp = x % y;
  19.         x = y;
  20.         y = temp;
  21.         }
  22.     return y;
  23.     }
  24. }
  25. int main() {
  26.     int m, n, i;
  27.     std::cout << "Please input two integer numbers: " << std::endl;
  28.     std::cin >> m >> n;
  29.     i = getmax(m, n);
  30.     std::cout << "The greatest common denominator of m and n is:"
  31.     << i  << std::endl;
  32.     return 0;
  33. }
求最大公约数的算法可以这样理解:

对于:36 4

36%4 = 0

就是4

对于:36 42
42%36=6
36%6=0
就是6

对于:36 17
36%17=2
17%2=1
2%1 = 0
就是1

这个算法也叫辗转相除,加油。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值