谭浩强C程序设计(第五版)习题7-1
#define _CRT_SECURE_NO_WARNINGS #pragma warning(disable:4996) #include<stdio.h> int main() { int cd(int, int);// common divisor公约数; int cm(int, int);//common multiple 公倍数 int u, v; printf("input two integers:\n"); scanf("%d %d", &u, &v); printf("最大公约数:%d\n", cd(u, v)); printf("最小公倍数: %d",cm(u, v)); return 0; } int cd(int a, int b) { int i,k; if (a < b) { int temp; temp = a; a = b; b = temp; } for(i = 1; i <= b; i++)//从1到b穷举最大公约数 { if ((a % i == 0) && (b % i == 0)) k = i; } return k; } int cm(int a, int b) { int k; if (a < b) { int temp; temp = a; a = b; b = temp; } for (int i = 1; i <= b; i++)//从1*i到b*i穷举最小公倍数 { if ((i * a) % b == 0) { k = (i * a); break; } } return k; }