Problem4002--周周练-第14周:递归-编写递归函数

4002: 周周练-第14周:递归-编写递归函数

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 41  Solved: 41
[Status] [Submit] [Creator:]

Description

编写一个递归函数 f(n):

- 当 n = 0 时,f(n) 返回 0;
- 否则,f(n) 返回 f(n/2)+n。

其中,n/2 表示 n 整除 2 的结果(即 n 除以 2 向下取整)。

输入一个整数 n(1 ≤ n ≤ 109),输出 f(n) 的结果。  

Input

一个整数 n(1 ≤ n ≤ 109)。

Output

输出一个整数,表示递归函数 f(n) 的结果。  

Sample Input Copy

100

Sample Output Copy

197

Source/Category