/*
给定两个正整数n,m求最大公约数和最小公约数
给定n=21,m=9;
1.最大公约数:n%m 取余数 (21 % 9 = 3)
2.把m的值赋给n, n=9; 把余数的值赋给m, m=3,(n % m = 9 % 3 = 0 );
3.运算到n%m=0则m的值是最大公约数;
最大公约数是3;
最小公约数是 原值21*9/3(最大公约数;)n1*m1/m
*/
#include<stdio.h>
main(){
int n,m;
int n1,m1;
int t=0;
scanf("%d%d",&n,&m);//9 21 ,先写小数写大的数;
n1=n;m1=m;
if(m1>=n1){
while(n!=0){
t=m%n;
m=n;
n=t;
}
printf("最大公约数%d\n",m);
printf("最小公约数 %d",n1*m1/m);
}
if(m1<n1){
while(n!=0){
t=n%m;
n=m;
m=t;
}
printf("最大公约数%d\n",n);
printf("最小公约数 %d",n1*m1/n);
}
}
给定两个正整数n,m求最大公约数和最小公约数
给定n=21,m=9;
1.最大公约数:n%m 取余数 (21 % 9 = 3)
2.把m的值赋给n, n=9; 把余数的值赋给m, m=3,(n % m = 9 % 3 = 0 );
3.运算到n%m=0则m的值是最大公约数;
最大公约数是3;
最小公约数是 原值21*9/3(最大公约数;)n1*m1/m