在 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 好听的元旦简短祝福语