题目太长就懒得截图了,题目的大义其实就是一个数列
最后一个项是3,然后前一个项是(后一个项-1)*2,给你项的总数,让你求第一个项。
所以就很简单啦,由于项的数量不超过31个(算上最后一个3),所以也不会超过INT_MAX(2*10^9)。
记得一开始打表哦~
#include <stdio.h>
int glb_sheep[31]={0};
void prepare()
{
glb_sheep[0] = 3;
for(int i=1;i<31;i++)
{
glb_sheep[i] = (glb_sheep[i-1]-1)*2;
}
}
void main()
{
int n;
scanf("%d",&n);
prepare();
while(n--)
{
int m;
scanf("%d",&m);
printf("%d\n",glb_sheep[m]);
}
}