1. 程式人生 > >JSK-391 公約公倍【入門】

JSK-391 公約公倍【入門】

公約公倍 輸入兩個正整數,求其最大公約數和最小公倍數。 輸入格式 每行輸入兩個正整數 a,b(1≤a,b≤10^4)。 輸出格式 輸出兩行,分別是 a,b的最大公約數和最小公倍數。 樣例輸入 2 3 樣例輸出 1 6

問題連結JSK-391 公約公倍 問題描述:(略) 問題分析: 這是一個數論問題,計算最大公約數是用歐幾里德演算法實現的,而且是遞迴實現。最小公倍數則根據數論中的公式進行計算。 程式說明:(略) 參考連結:(略) 題記:     數論問題是常見的程式設計問題。     功能封裝到函式。

AC的C語言程式如下:

/* JSK-391 公約公倍 */

#include <stdio.h>
int gcd(int m, int n) { return n == 0 ? m : gcd(n, m % n); } int lcm(int m, int n) { return m / gcd(m, n) * n ; } int main(void) { int a, b; while(~scanf("%d%d", &a, &b)) printf("%d\n%d\n", gcd(a, b), lcm(a, b)); return 0; }