对于两个整数x,y,求其最大公约数(语言:C,C++)
原理:辗转除法求最大公约数:就是不断的用除数去除以余数,直到余数为0 ,最终得到的除数就是该两个数的最大公约数
1.递归法:
- int gcd(int x,int y)
- {
- int result;
- if(y==0)
- result=x;
- else
- result=gcd(y,x%y);
- return result;
- }
2.非递归法(辗转相除法)
- int gcd(int x,int y)
- {//辗转除法求最大公约数:就是不断的用除数去除以余数,直到余数为0
- int tem ;
- while(x%y!=0)
- {
- tem=x%y;
- x=y;
- y=tem;
- }
- return y;
- }
时间: 2024-10-10 00:39:17