#include<stdio.h>
#include<string.h>
int main()
{
long long int m,n,i,c;
scanf("%lld %lld",&m,&n);
if(m<n)
{
c=m;
m=n;
n=c;
}
for(i=m;i>0;i--)
{
if(m%i==0&&n%i==0)
{
printf("%lld %lld",i,(m*n)/i);
break;
}
}
return 0;
}
定义i的变量时应注意,i是干什么的,在题中,i是表示m,n,而m,n是long long 型的,所以,i应该也是long long 型的,不应该是int 型的,还有break的位置应该注意。(对我而言,break的位置,刚开始还以为放在if语句外面可以,但是程序在脑子中执行几次,才发现,当不满足条件的时候,怎么办?)