C 练习实例16 - 最大公约数和最小公倍数

来源:互联网 发布:淘宝特价清仓 编辑:程序博客网 时间:2024/05/17 06:38
/*C 练习实例16 - 最大公约数和最小公倍数题目:输入两个正整数m和n,求其最大公约数和最小公倍数。程序分析:(1)最小公倍数=输入的两个数之积除于它们的最大公约数,关键是求出最大公约数;(2)求最大公约数用辗转相除法(又名欧几里德算法)*/#include <stdio.h>/*欧几里得算法:辗转求余gcd(a,b) = gcd(b,a mod b)b为0时,两数的最大公约数即为a*/int gcd(int a, int b){int t;if(b == 0){t = a;}else    {        t = gcd(b, a % b);    }return t;}/*最小公倍数*/int lcm(int a, int b){int t;t = a * b /gcd(a, b);return t;}int main(){int m, n;printf("请输入两个整数(格式为3,4):");scanf("%d,%d", &m, &n);printf("最大公约数为%d\n", gcd(m, n));printf("最小公倍数为%d\n",lcm(m, n));return 0;}

0 0
原创粉丝点击