A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙百鑫   /  2013-6-15 16:11  /  14140 人查看  /  241 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

不知道楼主说的正向思维是什么意思,难道要一个一个的数测试?

点评

从第一天考虑 要解释清楚  发表于 2013-6-15 20:52
回复 使用道具 举报
class cx3
{

public static void main(String[] args) {
  int x=10;
  int sl=Sl(x);
     System.out.println("第一天总共摘了"+sl+"个桃子,真能摘!");
}
public  static int Sl(int n)
     {
      int x;// 第一天总共摘的。
      if(n==1)//最后一天
       x=1;
      else
       x=2*(Sl(n-1)+1);//前一天的桃子数目等于后一天数量加1乘2
      return x;
     }
}

QQ图片20130615202458.jpg (7.39 KB, 下载次数: 0)

QQ图片20130615202458.jpg

评分

参与人数 1技术分 +3 收起 理由
夜默 + 3 很给力!

查看全部评分

回复 使用道具 举报 1 0
好的,让我来瞧瞧
回复 使用道具 举报
上次做粽子题上瘾了
回复 使用道具 举报
class Test
{
        public static void main(String[] args) {
                System.out.println(taozi(10));
        }
        public  static int taozi(int t)   //参数为天数
        {
                        int g =0;//个数
                        if(t==1) //最后一天
                         g=1;  
                        else
                         g=2*(taozi(t-1)+1);/*递归调用天数逐次减少*/
                        return g;  //返回桃子个数
        }
}

评分

参与人数 1技术分 +3 收起 理由
夜默 + 3

查看全部评分

回复 使用道具 举报
class ZhuanFen
{
public static void main(String[] args)
{
  
  int count = 1;//最后一天剩下的桃子数,并用它来当计数器记录前一天的桃子数
  
  for (int x=0;x<9 ;x++ )//因为是第十天早上发现桃子只有一个 所以第九天早上吃完后就剩1个桃子了,所以要循环9次。
  {
   count = (count+1)*2;//计算前一天的桃子数,并用计数器记录
  }
  System.out.println(count);
  
}
}

之前循环次数数错了,小于9才是循环9次,嘿嘿

评分

参与人数 1技术分 +3 收起 理由
夜默 + 3

查看全部评分

回复 使用道具 举报
来得分 亲爱的鑫鑫。哈
回复 使用道具 举报
啥情况
!!!
回复 使用道具 举报
新手试试看能做出来不
回复 使用道具 举报
package learningtest;

/*
猴子吃桃的问题:猴子第一天摘下来N个桃子,当天就吃了一半,但是还不过瘾,又多吃了一个,第二天早上又将
剩下的桃子吃了一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个,到第十天早上的时候就发现剩下
一个桃子了.求第一天一共摘下了多少桃子呢?
*/
public class Joker {

        public static void main(String[] args) {
                System.out.println(Mokey.getPeach(1));
        }

}

class Mokey {
       
        public static int getPeach(int day) {
                int sum = 0;
                if(day == 10) {
                        sum = 1;
                } else if(day < 10) {
                        sum=2*(getPeach(day+1)+1);  
                }
                return sum;
        }
       
}

评分

参与人数 1技术分 +2 收起 理由
夜默 + 2 写注释,是一个好习惯..

查看全部评分

回复 使用道具 举报
先下来看看到底是啥题
回复 使用道具 举报
  1. package com.itheima.reflect;

  2. public class TestDemo {

  3.         public static void main(String[] args) {
  4.                 //分析题可知。
  5.                 int n = method(1);//第九天剩下的桃子
  6.                 for(int i=0;i<8;i++){
  7.                         n = method(n);//利用循环求出总数
  8.                 }
  9.                 System.out.println(n);
  10.         }
  11.         public static int method(int x){
  12.                 return (x+1)*2;
  13.         }
  14. }
复制代码
c:\Users\Win7\Desktop\捕获.PNG

评分

参与人数 1技术分 +2 收起 理由
夜默 + 2 很给力!

查看全部评分

回复 使用道具 举报
、、、、、、、、
回复 使用道具 举报

不能粘贴图片,结果是1534
回复 使用道具 举报
看看哈,会不会呢
回复 使用道具 举报
做上一做
回复 使用道具 举报
mulua 中级黑马 2013-6-15 21:24:20
97#
  1. /**思路
  2. *  第十天早上剩余一个即第九天吃过后剩余一个
  3. *  用递归的话需要有出口,第九天吃过后剩余一个就是一个很好的出口
  4. *  所以定义一个函数f 返回第i天吃过后剩下的桃子树木
  5. *  递归出口就是 f(9)=1;
  6. *  对于一般情况第i天
  7. * f(i)=f(i-1)-f(i-1)-1;化简后的f(i)=2*f(i+1)+2;
  8. * 所以递归函数为
  9. *                 if (i==9)            
  10.                 {
  11.                         m=1;
  12.                 }
  13.                 else
  14.                 {
  15.                   m=2*f(i+1)+2;   
  16.                 }
  17. * 由此可以算出第一天剩下是的桃子为f(1);
  18. * 那么猴子第一天摘的桃子的个数为2*f(1)+2;
  19. */
  20. public class Monkey {
  21.         public static void main(String[] args) throws Exception{
  22.                 Monkey mon=new Monkey();
  23.                 int i=1;
  24.                 int t=mon.f(i);
  25.                 int zong =2*t+2;
  26.                 System.out.println("猴子第一天摘了"+zong+"桃子");
  27.         }
  28.         //函数f的功能是计算出第i天吃过后剩下的桃子
  29.         public int f(int i)
  30.         {
  31.                
  32.                 int m;                //当天吃过剩下的桃子
  33.                 if (i==9)             //递归的出口
  34.                 {
  35.                         m=1;
  36.                 }
  37.                 else
  38.                 {
  39.                   m=2*f(i+1)+2;       //递归体
  40.                 }
  41.                 return m;
  42.         }
  43.        

  44. }
复制代码

评分

参与人数 1技术分 +3 收起 理由
夜默 + 3

查看全部评分

回复 使用道具 举报

  1. public class Test2 {
  2.        
  3.         public static void main(String[] args)
  4.         {
  5.                 int sum = 1;
  6.                 for(int i = 0; i < 10; i++)
  7.                 {
  8.                         sum = sum + (sum + 1) * 2;
  9.                 }
  10.                 System.out.println(sum);
  11.         }

  12. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
夜默 + 1

查看全部评分

回复 使用道具 举报
  1. class Eat
  2. {
  3. int eatPeach(int time,int peach)
  4. {
  5. if(time==1)
  6. {return peach;}
  7. else
  8. {
  9. time--;
  10. peach=(peach+1)*2;
  11. return eatPeach(time,peach);
  12. }

  13. }
  14. }
  15. public class Houzi
  16. {
  17. public static void main(String args[])
  18. {
  19. Eat test=new Eat();
  20. int time=10,peach=1,count;
  21. count=test.eatPeach(time,peach);
  22. System.out.println("第一天摘了"+count+"个桃");
  23. }
  24. }
复制代码

0CDDKJA``E{]Z1M{$J0ZDJG.jpg (6.98 KB, 下载次数: 0)

0CDDKJA``E{]Z1M{$J0ZDJG.jpg

评分

参与人数 1技术分 +2 收起 理由
夜默 + 2

查看全部评分

回复 使用道具 举报
占楼答题咯..
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马