在 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 生日广州男生祝福语简短