c++递归求最大公约数.docxVIP

  • 8
  • 0
  • 约小于1千字
  • 约 2页
  • 2023-04-03 发布于湖南
  • 举报
c++递归求最大公约数 给出两个数a和b,求出它们的最大公约数。 用到的是辗转相除法(Euclid方法),也叫欧几里得算法。 原理:如果a除以b的余数为c,那么a和b的最大公约数与b和c的最大公约数相同。 具体步骤: 1、将a置为最大值,b置为最小值; 2、求出a除以b的余数(c); 3、用递归算法:如果c=0,则最大公约数为b,如果c不为0,则不断用b除以c,直到c等于0,此时b即为最大公约数。 C++代码实现: #includeiostream using namespace std; int GCD(int a,int b) { if(ab) { int temp=a; a=b; b=temp; } int c=a%b; if(c==0) return b; else return GCD(b,c); }

文档评论(0)

1亿VIP精品文档

相关文档