C++用递归做函数T(n)=4T(n/2) n

写出C++的代码越简单越好

C++用递归做函数T(n)=4T(n/2) n可以参考以下的代码:

int recur(int n)

{

int temp = n/2;

if (temp == 1) return 1; //此处是t(1)的值,暂时用1代替

else

{

return recur(temp);

}

}

扩展资料:

递归,就是在运行的过程中调用自己。

构成递归需具备的条件:

1.、子问题须与原始问题为同样的事,且更为简单;

2、不能无限制地调用本身,须有个出口,化简为非递归状况处理。

在数学和计算机科学中,递归指由一种(或多种)简单的基本情况定义的一类对象或方法,并规定其他所有情况都能被还原为其基本情况。

例如,下列为某人祖先的递归定义:

某人的双亲是他的祖先(基本情况)。某人祖先的双亲同样是某人的祖先(递归步骤)。斐波纳契数列(Fibonacci Sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21..... I

参考资料来源:百度百科-递归

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-03-28
int recur(int n)
{
int temp = n/2;

if (temp == 1) return 1; //此处是t(1)的值,暂时用1代替

else

{
return recur(temp);

}

}追问

recur函数我没学过,解释一下

追答

recur 就是你要的自定义的函数
别忘了给main函数加上返回值

追问

T(n)=4T(n/2)+n这里漏了一个加号

追答

return recur(temp);
改为

return 4*recur(temp)+n ;

本回答被提问者和网友采纳
相似回答