【问题描述】
输入一对正整数 a,b(0<a,b<100000000),求其最大公约数。
【输入形式】
第一组:12 18
第二组:319 377
【输出形式】
第一组:6
第二组:29
注意要点(易错区域):
1)首先思考要用什么方法来解决,要用循环;
2)其次靠循环找出所有的公约数;
3)最后要解决的就是找到最大公约数,采用赋值法,首先设公约数为a,(1.可以首先取一个是分小的整数来作为她的初始值。2.可以把找到的第一个公约数的值赋值给他)然后,不停的循环比较,用if条件句,如果公约数的值大于a,则把这个大点的值赋值给a,如此就可以找到最大公约数。
#include<stdio.h>
int main()
{
int a,b,c=0,i;
scanf("%d%d",&a,&b);
for(i=1;i<=a;i++)
{
if(a%i==0 && b%i==0)
{
if(i>=c)
{
c=i;
}
}
}
printf("%d",c);
return 0;
}