早教吧 育儿知识 作业答案 考试题库 百科 知识分享

递归方程求解:已知T(1)=0,n=1时,t(n)=t(⌊n/2⌋)+t(⌈n/2⌉)+n-1,n>1时这种带向上取整和向下取整类型的题目怎么解?

题目详情
递归方程求解:已知T(1)=0,n=1时,t(n)=t(⌊n/2⌋)+t(⌈n/2⌉)+n-1,n>1时
这种带向上取整和向下取整类型的题目怎么解?
▼优质解答
答案和解析
int f(int n)
{
int r;
if(!n) return 0;
if(n==1) return 1;
r=f(n/2);
if(n%2) r+=f(n/2+1);
else r*=2;
return r+n-1;
}