一、题目
输入两个数,求这两个数的最大公约数
二、思路分析
1、把这两个数同时除以1、2、3、4……
2、能被整除的,取其最大值,即为最大公约数
三、代码图片
四、源代码
#includestdio.h
//输入两个数,求两个数的最大公约数
intmain()
{
intnum1,num2;
printf("请输入两个数:\n");
scanf("%d%d",num1,num2);
zuiDaGongYueShu(num1,num2);
}
zuiDaGongYueShu(intnum1,intnum2)
{
inttemp=0,gongYueShu=0;
//把输入的两个数中较小的一个,赋给变量temp
if(num1num2)
{
temp=num1;
}
else
{
temp=num2;
}
//从temp的值开始,每循环一次,值减1
//到temp值等于1的时候,循环停止
//num1、num2同时除temp,
//若能除尽,则为最大公约数。
//把公约数赋给gongYueShu变量,并打印输出
do
{
if((num1%temp==0)(num2%temp==0))
{
gongYueShu=temp;
break;
}
temp--;//注意:不能放在do上面
}
while(temp!=1);
//temp=1的时候,有特殊情况
if(temp==1)
{
printf("两个数没有公约数");
}
else
{
printf("最大公约数是:%d",temp);
}
}
五、运行结果