哈喽,今天想跟大家分享TZOJ网站上的一道题
1394: 不容易系列之二总提交: 1825 测试通过:1545 描述 你活的不容易,我活的不容易,他活的也不容易。不过,如果你看了下面的故事,就会知道,有位老汉比你还不容易。 输入 输入数据第一行是一个整数N,表示测试数据的组数,下面由N行组成,每行包含一个整数a(0<a<=30),表示收费站的数量。 输出 对于每个测试实例,请输出最初的羊的数量,每个测试实例的输出占一行。 样例输入 样例输出 |
这里我先直接给源码吧,用的是C语言
#include <stdio.h>
int main()
{
int N,n,i;
while(~scanf("%d",&N))
{
while(N--)
{
scanf("%d",&n);
int m=3;
for(i=0;i<n;i++)
{
m=(m-1)*2;
}
printf("%d\n",m);
}
return 0;
}
}
思路:输入多个数据用while(~scanf("%d",&N))语句,用逆向思维将最后仅存的3只羊利用for循环依次加一除以二即可。
分享就到这里。拜拜~