【发布时间】:2014-07-13 14:53:29
【问题描述】:
#include <iostream>
using namespace std;
int gcf(int a, int b);
int main() {
int a = 0, b = 0;
while (1) {
cin >> a;
if (a == 0)
break;
cin >> b;
cout << "GCF = " gcf(a, b) << endl;
}
return 0;
}
int gcf(int a, int b) {
if (a % b == 0)
return b;
else
return gcf(b, a % b);
}
所以,我的问题是:我怎样才能让程序显示最大公因数的所有步骤?例如,如果a 为 300,b 为 500,则程序应显示如下步骤:
GCF(300,500)=>
GCF(500,300)=>
GCF(300,200)=>
GCF(200,100)=>
GCF=100
【问题讨论】:
-
为什么要使用
c#、android和c标签? -
您的代码已经准备好进行此修改,因为实现是递归的。您需要做的就是在您的
gcf实现的开头添加一行打印a和b。