我在试图弄清楚如何跟踪递归函数在执行collatz函数时调用自身的次数。我有函数定义:在我的递归函数(Collatz)中跟踪计数
template<class myType>
myType recursionSet<myType>::collatz(myType n)
{
if(n == 1)
return 1;
else {
if(n%2 == 1)
return collatz(3*n+1);
else
return collatz(n/2);
}
}
我该如何跟踪这个函数自己调用的次数?我似乎无法为我的生活提出解决方案。谢谢!
参考在Collatz功能:http://www.xamuel.com/collatz-recursion/
将count作为参数传递,或使其成为静态。 – Serdalis 2013-04-09 02:45:33
@Serdalis在递归函数中不能使用静态变量?变量永远不会被重置,并且在任何时候都无法将其设置为零,因为每次调用自身时都会重复将其设置为零。 – 2013-04-09 02:46:56
@ Need4Sleep您从未提及任何关于多个初始条目的任何内容,并且在这种情况下,静态会正常工作。否则,请使用by-reference count参数。 – WhozCraig 2013-04-09 02:48:44