在 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 写给情侣祝福语 浪漫简短