求任一两个正整数的最大公约数。

二、设计思路:
1、输入两个正整数;
2、将两个数中较小的数值赋给temp;
3、接着用其中一个数与temp求余,若余数不为0,则temp-1,循环该步骤直到余数为0。
4、再用另一个数,重复此步骤,最后得出的值为这两个数的最大公约数。
 

#include<stdio.h>
int main()
{
int i=0;
int m,n,temp;
printf("请输入两个正整数:");
scanf("%d %d",&m,&n);
if(m>n)
{
temp=n;
}else                    //m=n在此不需要单独讨论
{
temp=m;
}
for(i=temp;i>0;i--)           //如果从i=1开始,得出公约数也无法保证其为最大公约数。
{
if(m%i==0 && n%i==0)
break;
}
printf("%d和%d的最大公约数是%d",m,n,i);
return 0;
}

 

 
posted @ 2023-04-12 19:32  就叫这个名字吧Ci  阅读(49)  评论(0)    收藏  举报