酷代码 AI
菜单
服务商

题目描述 在学校里,禾木和桃子分别参加两个不同班级的活动。禾木的班级每隔 a a 天活动一次,桃子的班级每隔 b b 天活动一次。禾木和桃子想知道他们两个下一次同时参加班级活动的日期是哪一天。 输入格式 一行,输入两个正整数 a a, b b ( a ≤ b ) (a≤b),整数之间以一个空格隔开,分别表示禾木的班级和桃子的班级活动的间隔天数。 输出格式 一行,输出一个正整数,表示两个班级下一次同时活动的日期(即 a a 和 b b 的最小公倍数)。用C++简答

```cpp #include <iostream> // 求最大公约数的函数 int gcd(int a, int b) { while (b != 0) { int temp = b; b = a % b; a = temp; } return a; } // 求最小公倍数的函数 int lcm(int a, int b) { return a / gcd(a, b) * b; } int main() { int a, b; std::cin >> a >> b; std::cout << lcm(a, b) << std::endl; return 0; } ``` 代码解释 1. `gcd`函数:该函数用于计算两个数的最大公约数,使用欧几里得算法实现。通过循环不断更新`a`和`b`的值,直到`b`为 0,此时`a`就是最大公约数。 2. `lcm`函数:该函数用于计算两个数的最小公倍数,根据最小公倍数的计算公式`lcm(a, b) = a * b / gcd(a, b)`,为避免溢出,采用`a / gcd(a, b) * b`的方式计算。 3. `main`函数:从标准输入读取两个整数`a`和`b`,调用`lcm`函数计算它们的最小公倍数,并将结果输出到标准输出。 [2025-12-21 22:20:33 | AI问答 | 324点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多