题目描述:输入两个整数a,b(1≤a,b≤100000),请编写程序求出他们的最大公约数。 |
输入描述:输入两个整数a b,用空格隔开 |
输出描述:输出对应a,b的最大公约数 |
样式输入:25 10 |
样式输出:5 |
思路:1.先进行标准化输入(m,n);
2.之后判断(m,n)大小用x接收最小值,y接收最大值。如果m==n则输出他们其中一个,用return 0;终止运行。
3.之后对除数循环,终点为最小值。如果他们除以同一个数同时余数为0,则用max接收,直到循环结束,max最大。
4.输出max(即为最大的余数)。
#include<stdio.h>
int main()
{
int m,n,x,y;
scanf("%d%d",&m,&n);
int i;
if(m<n){
x=m;
y=n;
}
else if(m==n){
printf("%d",n);
return 0;
}
else{
x=n;
y=m;
}
int max=1;
for(i=2;i<=x;i++){
if(x%i==0&&y%i==0){
max=i;
}
}
printf("%d",max);
return 0;
}