问题链接:CCF NOI1065 最小公倍数。
时间限制:
1000 ms 空间限制: 262144 KB
题目描述
输入正整数n,m,编写程序计算n和m的最小公倍数。
输入
一行两个空格隔开的正整数n,m。
输出
输出n和m的最小公倍数。样例输入
12 18
样例输出
36
数据范围限制
1<=n,m<=10^6
提示
问题分析
这是一个数论问题,有标准的计算方法。
程序说明
参见参考链接。
要点详解
- C语言程序中,从重用性考虑,尽量将功能封装到函数中。
参考链接:计算最小公倍数LCM。
100分通过的C语言程序:
#include <stdio.h> long gcd(long m, long n) { if(n == 0) return m; else return gcd(n, m % n); } long lcm(long a, long b) { // return a * b / gcd(a, b); return a / gcd(a, b) * b; } int main(void) { long n, m; scanf("%ld%ld", &n, &m); printf("%ld ", lcm(n, m)); return 0; }