在 C++ 中打印 n 个整数的 GCD 公式的递归程序
我们得到一个整数作为输入。目标是使用递归打印n个数字的GCD公式。
我们知道三个数的GCD说a1,b1和c1将是gcd(a1,gcd(b1,c1))。同样对于三个以上的数,gcd可以通过公式得到gcd(a1,gcd(b1,gcd(c1.....,gcd(y1,z1))。
例子
输入 -Num=4;
输出 -公式是:
GCD(inta3,GCD(inta2,GCD(inta1,intb1)))
输入 -Num=6;
输出 −公式为:GCD(inta5,GCD(inta4,GCD(inta3,GCD(inta2,GCD(inta1,intb1)))))
下面程序中使用的方法如下
在这种方法中,我们使用递归函数gcdFormula(intnum1),它将数字计数作为输入并返回包含num1数字的gcd公式的字符串。
对于基本情况-:如果num1为1,则返回字符串"intb"+to_string(num1)+""。
Else-:再次递归gcdFormula(num1-1)并附加上一个字符串。
取输入数字Num。
函数gcdFormula(intnum1)将数字计数作为输入并返回包含num1数字的gcd公式的字符串
如果num1为1,则返回字符串"intb"+to_string(num1)+""。
否则打印"GCD(inta"<<num1-1<<",";
后跟递归步骤作为返回(gcdFormula(num1-1)+")")
最后将返回整个字符串。
打印在main中获得的结果。
示例
#include <bits/stdc++.h>
using namespace std;
string gcdFormula(int num1){
if (num1 == 1){
return ("int b"+to_string(num1)+"");
}
else{
cout<<"GCD(int a"<<num1-1<<", ";
return (gcdFormula(num1 - 1)+")");
}
}
int main(){
int Num = 6;
cout<<"公式为:"<<endl;
cout<<gcdFormula(Num);
return 0;
}输出结果如果我们运行上面的代码,它将生成以下输出
公式为: GCD(int a6, GCD(int a5, GCD(int a4, GCD(int a3, GCD(int a2, GCD(int a1, int b1))))))
热门推荐
10 五一公司放假祝福语简短
11 追星女孩的祝福语简短
12 给长辈端午祝福语 简短
13 生日祝福语有诗意简短
14 团圆日祝福语简短
15 中秋商务祝福语简短最新
16 温暖文艺简短祝福语短句
17 男孩上学祝福语简短的
18 入住酒店文案祝福语简短