这个简单的程序如何不表示递归?

How does this simple program not represent recursion?

本文关键字:何不 表示 递归 程序 简单      更新时间:2023-10-16

这个"not"如何证明递归? 这是一个简单的高/低查找,我将"mid"设置为对范围内程序随机选择的数字的猜测。 我正在和教练进行小便比赛。 你觉得怎么样?

#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main()
{
// define variables
int left = 1, mid, range, secret, y = 0;
// query user defined range, assign to variable range
cout << "Please enter top of range: " << endl;
cin >> range;
// seed random number generator with time
srand(time(NULL));
// generate secret number based between left and range
secret = rand() % range;
do {
// define and assign primary value of mid updating on each 
iteration
mid = ((range + left) / 2);
if (mid > secret) {
// set range to mid
range = mid;
// iterate
y++;
} else if (mid < secret) {
// set left to mid
left = mid;
// iterate
y++;
} else {
// escape condition met
cout << "Found secret number " << secret << " in " << y 
<< " tries. " << endl;
return 0;
}
} while (mid != secret);
return 0;
}
">

当一个事物根据自身或其类型被定义时,就会发生递归。 因此,调用自身的函数是递归的。简单的循环不是。