黑马程序员技术交流社区
标题:
让技术飞,经典小例子数列的练习 !
[打印本页]
作者:
段旭东
时间:
2013-4-14 01:54
标题:
让技术飞,经典小例子数列的练习 !
本帖最后由 段旭东 于 2013-4-14 14:36 编辑
练习java语言的经典小例子。
可以用很多方法,结果不重要 最主要的是算法,思想!
题目:
有一堆苹果,你第一天吃掉一半加一个,第二天又吃掉剩下的一半加一个,到第十三天吃了剩下的最后一个苹果,问:最初有几个苹果?
PS:
吃掉的是一堆苹果的一半哦!第二天是剩下半堆的一半哦!不是一个苹果分开吃。。。。
结果:
做出的的结果数量可能有点巨大!各位不要惊讶!
以下有一份我的答案,支持一下回复后可以看到!求最简洁算法,交流一下答案!{:soso_e144:}
作者:
黄玉昆
时间:
2013-4-14 08:03
建议你可以将这个题目回复到“让技术起飞”的帖子里,地址如下:
http://bbs.itheima.com/thread-43374-1-1.html
作者:
谢波
时间:
2013-4-14 08:24
本帖最后由 谢波 于 2013-4-14 08:26 编辑
class Demo3
{
public static void main(String[] args)
{
int sum = 1;
for(int x=0;x<12;x++)
{
sum = (sum + 1) * 2;
}
System.out.println(sum);
}
}
复制代码
作者:
lipingan0520
时间:
2013-4-14 10:09
看看怎么样
作者:
李志敏
时间:
2013-4-14 10:20
先看看你写的
作者:
黑马-陈思源
时间:
2013-4-14 10:32
看看了 我喜欢算法
作者:
李志敏
时间:
2013-4-14 11:05
可以用递归
public class Aapple {
public static void main(String[] args) {
System.out.println(num(13));
}
//倒过来考虑 最后一天为第一天
public static int num(int day) {
if(day>1){
return 2*(num(day-1)+1);
}else{
return day;
}
}
}
复制代码
作者:
陈圳
时间:
2013-4-14 11:10
public static int getNums(int n){
if(n==0)
return 1;
else return (getNums(n-1)+1)*2;
}
复制代码
作者:
HM刘俊
时间:
2013-4-14 13:17
看看你的结果
作者:
黄玉昆
时间:
2013-4-14 14:14
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2