Page 1 of 1

Help with is Computer Science code, written in C++: Requirement: Rewrite all the functions except perm as a non-recursiv

Posted: Sun May 15, 2022 12:49 pm
by answerhappygod
Help with is Computer Science code, written in C++:
Requirement: Rewrite all the functions except perm as a
non-recursive functions
Code:
#include <iostream>
using namespace std;
void CountDown_noRec(int num) {
while (num > 0) {
cout << num << endl;
num = num- 1;
}
cout << "Start n";
}
void CountDown(int num) {
if (num <= 0) {
cout << "Start\n";
}
else {
cout << num << endl;
CountDown(num-1);
}
}
//Fibonacci Sequence Code
int fib(int num) {
if (num == 1 || num == 2)
return 1;
else
return fib(num - 1) + fib(num - 2);
}
int fact(int num) {
if (num == 1)
return 1;
else
return num * fact(num- 1);
}
void perm(string head, string tail) {
if (tail. length() == 1)
cout <<head + tail<< endl;
else
for (int i = tail.length() -1; i>=0; --i)
perm(head + tail, tail.substr(0, i) + tail. substr(i +
1));
}
int bSearch(int n, int num[], int low, int high)
{
int mid = (high + low) / 2;
//System.out.println(lowt" "+ hight" " +mid);
if (n== num[mid])
return mid;
else if (high< low)
return -1;
else if (n< num[mid])
return bSearch(n, num, low, mid -1);
else
return bSearch(n, num, mid + 1, high);
}
/* Determine the greatest common divisor of two numbers, e.g.
GCD(8, 12) =4
*/
int GCD(int n1, int n2) {
int gcd;
if (n1==n2) {
gcd = n1;
}
else {
if (n1 > n2) {
gcd = GCD(n1 - n2, n2) ;
}
else {
gcd = GCD(n1, n2 - n1);
}
}
return gcd;
}