有一个函数的定义如下
f(x)=⎩⎪⎪⎪⎨⎪⎪⎪⎧013f(2x)−13f(2x+1)−1x≤0x=1x>1 and x%2=0x>1 and x%2=1
其中 x 为整数。
输入格式
输入一个整数 x(−105≤x≤105)。
输出格式
输出函数 f(x) 值。
样例输入1
3
样例输出1
5
样例输入2
10
样例输出2
41
#include <iostream>
using namespace std;
int function(int x){
int f;
cin>>f;
if(x<=0){
f=0;
}else if(x==1){
f=1;
}else if(x>1&&x%2==0){
f=3*function(x/2)-1;
}else if(x>1&&x%2==1){
f=3*function((x+1)/2)-1;
}
return f;
}
int main(){
int x;
cin>>x;
cout<<function(x);
return 0;
}