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; } |