C语言题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
作者:野牛程序员:2023-12-26 12:40:31C语言阅读 2771
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 程序分析: (1)最小公倍数=输入的两个数之积除于它们的最大公约数,关键是求出最大公约数; (2)求最大公约数用辗转相除法(又名欧几里德算法)
输入两个正整数m和n,通过辗转相除法,计算它们的最大公约数和最小公倍数。
#include <stdio.h> // 函数声明 int gcd(int x, int y); int lcm(int x, int y); int main() { // 输入两个正整数m和n int m, n; scanf("%d %d", &m, &n); // 计算最大公约数和最小公倍数 int result_gcd = gcd(m, n); int result_lcm = lcm(m, n); // 输出结果 printf("%d\\n", result_gcd); printf("%d\\n", result_lcm); return 0; } // 计算最大公约数的函数 int gcd(int x, int y) { int temp; while (y != 0) { temp = x % y; x = y; y = temp; } return x; } // 计算最小公倍数的函数 int lcm(int x, int y) { return x * y / gcd(x, y); }
这是一个用C语言编写的程序,实现了输入两个正整数m和n,然后计算它们的最大公约数和最小公倍数。程序中使用了辗转相除法来求最大公约数。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:51定时器T0和T1的使用问题
- 下一篇:雾化片的原理