编程求两个数的最大公约数和最小公倍数

来源:互联网 发布:怎么做好淘宝手机端 编辑:程序博客网 时间:2024/06/06 01:54

1.辗转相除法

#include<stdio.h>                     int main(){int num1 = 0;int num2 = 0;int tmp;printf("输入两个数字用空格隔开:\n");scanf("%d %d", &num1, &num2);int a = num1;int b = num2;while (num1%num2 != 0){tmp = num1%num2;num1 = num2;num2 = tmp;}printf("%d和%d的最大公约数是%d\n", a, b, num2);printf("%d和%d的最小公倍数是%d\n", a, b, num1*b/num2);return 0;}
2.相减法
#include<stdio.h>int main(){int num1 = 0;int num2 = 0;int tmp;printf("输入两个数字用空格隔开:\n");scanf("%d %d", &num1, &num2);int a = num1;int b = num2;if (num1 < num2){int tmp = num1;num1 = num2;num2 = tmp;}while ((num1 - num2) != 0){tmp = num1 - num2;num1 = num2;num2 = tmp;}printf("%d和%d的最大公约数是%d\n", a, b, num2);printf("%d和%d的最小公倍数是%d\n", a, b, a*b/num2);return 0;}