链接:https://www.nowcoder.com/questionTerminal/11e5b7576c5a4e7c971de332d8472d51
来源:牛客网
#include <stdio.h>
int main() {
//输入两个正整数m和n,求其最大公约数和最小公倍数。
int m,n,x,y;
scanf("%d %d",&m,&n);
//把x,y重新装一遍m,n防止计算完最大公约数后数值发生改变
x = m;
y = n;
int t = 0;
//最大公约数
while(n!=0){
t = m%n;
m = n;
n=t;
}
printf("最大公约数为%d \n",m);
//最小公倍数
if(x<y)
{
t = x;
x = y;
y = t;
}
for(int i=x; i>0; i++)
if(i%x==0 && i%x==0)
{
printf("%d和%d的最小公倍数是%d", x, y, i);
break;
}
return 0;
} #include <stdio.h>
int main() {
//输入两个正整数m和n,求其最大公约数和最小公倍数。
int m,n,x,y;
scanf("%d %d",&m,&n);
//把x,y重新装一遍m,n防止计算完最大公约数后数值发生改变
x = m;
y = n;
int t = 0;
//最大公约数
while(n!=0){
t = m%n;
m = n;
n=t;
}
printf("最大公约数为%d \n",m);
//最小公倍数
if(x<y)
{
t = x;
x = y;
y = t;
}
for(int i=x; i>0; i++)
if(i%x==0 && i%x==0)
{
printf("%d和%d的最小公倍数是%d", x, y, i);
break;
}
return 0;
}
#include<stdio.h>
int main(){
int m,n,i,temp;
printf("请输入两个正整数(num1,num2):");
scanf("%d,%d",&m,&n);
if(n>m){ //确保m>n,
temp=n;n=m;m=temp;
}
//暴力求解最小公倍数
// i=m;
// while(i%m!=0||i%n!=0)
// i++;
// printf("最小公倍数为:%d\n",i);
//非暴力
i=m*n;
while((m%n)!=0){ //辗转相除法(欧几里得算法)
n=m%n;
m=n;
}
printf("最大公因数为:%d\n",n);
printf("最小公倍数为:%d",i/n);
return 0;
} #include <stdio.h>
int main()
{
int a,b,c,d,i,j,temp;
scanf("%d %d",&a,&b);
if(a>b)
{
temp=b;
b=a;
a=temp;
}
for(i=b;i>0;i++)
{
if(i%a==0&&i%b==0)break;
}
for(j=a;j>0;j--)
{
if(b%j==0&&a%j==0)break;
}
printf("%d\n%d",j,i);
return 0;
}