时间限制: 1 Sec 内存限制: 64 MB
提交: 54 解决: 13
[状态] [提交] [命题人:外部导入]
题目描述
安卓4.1版本的代号叫果冻豆(Jelly Bean),当时发布的时候,小明就对这个果冻豆很好奇,因为他以前没有吃过果冻豆,于是他去买了一盒果冻豆,当他吃下第一颗果冻豆的时候,他爱上了果冻豆。
之后小明又买了好多果冻豆,小明把它们放到n个盒子里,在第i个盒子里有i个果冻豆(i=1,2,3,...,n)。小明每天选择一个整数x,再选择一些 装着果冻豆的盒子,这些被选中的盒子每个盒子里的果冻豆数量至少为x,然后小明吃掉每个被选中的盒子里的x个果冻豆。小明想尽快吃完所有的果冻豆,越快越 好,所以想请你计算一下小明最快需要几天可以吃完所有的果冻豆?
输入
输入包含多组测试数据。
输入的第一行是一个整数T,表示有T组测试数据。
每组输入一个正整数n,n的含义见题目描述,n在int范围内。
输出
对于每组输入,输出所要求的结果。
样例输入 Copy
4 1 2 3 4
样例输出 Copy
1 2 2 3
package x;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int i=0;i<T;++i)
{
int n = sc.nextInt();
System.out.println(eat(n));
}
//System.out.println(eat(6));
}
public static int eat(int n) {
if(n<=1)
return 1;
else if(n==2)
return 2;
return 1+eat(n/2);
}
}