c 语言 求最大公约数 最小公倍数 两种方法:

时间:2022-11-13 00:38:29

第一种方法:

#include<stdio.h>
void main(){
 int t,n,o,m;
 scanf("%d,%d",&n,&m);
 o=n*m;
 if(n>m){
  t=n;
  n=m;
  m=n;
 }
 while(t!=0){
  t=m%n;
  m=n;
  n=t;
 }
 printf("最大公约数是:%d/n",m);
 printf("最小公倍数是:%d/n",o/m);


}

 

 

第二种方法:

#include<stdio.h>
void main(){
 int n,m,i,t,max;
 scanf("%d,%d",&n,&m);
 if(n>m){
  t=n;
  n=m;
  m=t;
  }
 for(i=2;i<=n;i++)
  if(n%i==0&&m%i==0)
   max=i;
 printf("这两数的公约数是%d/n",max);
 printf("这两数的公倍数是%d/n",n*m/max);

 

 

}