【问题标题】:Output with greatest common factor最大公因数输出
【发布时间】: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#androidc 标签?
  • 您的代码已经准备好进行此修改,因为实现是递归的。您需要做的就是在您的gcf 实现的开头添加一行打印ab

标签: c++ cout


【解决方案1】:
#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("<<a<<","<<b<<")=>";
cout<<gcf(a,b);
}

return 0;

}

int gcf(int a, int b) {
if (a % b == 0)
return b;
else
return gcf(b, a % b);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多