题目要求:由键盘输入两个正整数m、n(m,n用长整数表示),计算它们的最大公约数。
【第一组自测数据】 【第一组自测数据】
键盘输入:16,24↙ 键盘输入:17,25↙
正确输出:8 正确输出:1
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m,n,min;
int d,i;
scanf("%d,%d",&m,&n);
min=m<n?m:n;
for(i=min;i>=1;i--)
{
if(m%i==0&&n%i==0){
d=i;
break;
}
}
if(i<1)
d=1;
printf("%d",d);
return 0;
}
解题要点:
(1)公约数是既能整除m,又能整除n的数,题目要求满足这一条件的最大的一个。
(2)注意:输入的两个数据由逗号分隔。请正确使用scanf语句中的格式控制字符。