题意:一开始有一个红气球 每小时后一个红气球会变成三个红气球和一个蓝气球 第k小时 a到b行之间有几个红气球
递归找规律题目
一定要注意涉及指数的时候一定要开long long 数组!!!!
#include<bits/stdc++.h>
using namespace std; long long s[]; long long f(int k,int i)
{ if(i<=)return ;
if(k==)return ;
if( i<=pow(,k-) )
{
return *f(k-,i);
}
else
{
return *s[k-]+f(k-, i-pow(,k-) );
}
} int main()
{
s[]=;
for(int i=;i<=;i++)
s[i]=*s[i-];
int n;cin>>n;
for(int i=;i<=n;i++)
{
int k,a,b;
scanf("%d%d%d",&k,&a,&b);
printf("Case %d: %lld\n",i,f(k,b)-f(k,a-) );
}
}