解题思路:
提供三种解题思路
辗转相除法
辗转相减法
递归
参考代码:
//1.辗转相除法
void division(int x, int y)
{
int temp, num;
num = x * y;
if(x < y)
{
temp = x; x = y; y = temp;
}
while(y != 0)
{
temp = x % y;
x = y;
y = temp;
}
printf("%d %d\n", x, num / x);
}
//2.辗转相减法
void subtract(int x, int y)
{
int num;
num = x * y;
while(x != y)
{
if(x > y) x = x - y;
else y = y - x;
}
printf("%d %d\n", x, num / x);
}
//3.递归
int dg(int x, int y)
{
if(x == y) return y;
else if(x > y) return dg(x - y, y);
else return dg(x, y - x);
}
int main()
{
int n1, n2;
scanf("%d%d", &n1, &n2);
division(n1, n2);
subtract(n1, n2);
printf("%d %d", dg(n1, n2), n1 * n2 / dg(n1, n2));
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题9.8 (Java代码)浏览:1642 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:518 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:524 |
淘淘的名单 (C语言代码)浏览:1104 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:472 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:542 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:1072 |
Tom数 (C语言代码)浏览:495 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:518 |
震宇大神的杀毒软件 (C语言代码)浏览:1080 |