A. 收成
Time Limit: 1000ms
Memory Limit: 65535KB
64-bit integer IO format:
%lld Java class name:
Main
自然界充满了神奇,各种植物都有着它们奇特的繁衍方式。大蒜是一种非常普通的调味品,但是在城市长大的我们,有多少人知道它是怎么培育出来的吗?
其实,我们将一团大蒜掰成若干蒜瓣,将蒜瓣分别埋到土里。一年之后,每一个蒜瓣都能长成一团大蒜。
我们假设每团大蒜都由8瓣蒜瓣构成,那么将一团大蒜掰开种下去,第一年就能收获8团大蒜;再将所有的大蒜都种下去,第二年就能收获64团大蒜。
现在我们手里只有一团大蒜,但是我们想知道第n年(1<=n<=10)我们最多能收获多少团大蒜。
其实,我们将一团大蒜掰成若干蒜瓣,将蒜瓣分别埋到土里。一年之后,每一个蒜瓣都能长成一团大蒜。
我们假设每团大蒜都由8瓣蒜瓣构成,那么将一团大蒜掰开种下去,第一年就能收获8团大蒜;再将所有的大蒜都种下去,第二年就能收获64团大蒜。
现在我们手里只有一团大蒜,但是我们想知道第n年(1<=n<=10)我们最多能收获多少团大蒜。
Input
输入的第一行为一个整数casen,表示有casen组数据。
接下来有casen行,每一行为一组测试数据。每行包含一个整数n,表示我们想知道第n年的收成。
接下来有casen行,每一行为一组测试数据。每行包含一个整数n,表示我们想知道第n年的收成。
Output
对每组测试数据,输出一个整数,表示第n年最多的收成。每组输出占一行。
Sample Input
3 1 5 10
Sample Output
8 32768 1073741824
解题思路:
每团大蒜已假设为8瓣,每瓣又可在一年之后长成一团,故种下一团(8瓣)之后,在第一年将收获8团,以此类推即可得出第n年的收获量。
参考代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include <stdio.h>
int
main(
void
)
{
int
casen;
int
i;
int
j;
int
result;
scanf
(
"%d"
,&casen);
for
( i=1; i<=casen; i++ )
{
int
n;
result = 1;
scanf
(
"%d"
,&n);
for
( j=1; j<=n; j++ )
{
result *= 8;
}
printf
(
"%d\n"
,result);
}
return
0;
}
|