• 悟空偷吃蟠桃的故事


    1、题目描述

      喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!什么问题?他研究的问题是蟠桃一共有多少个!不过,到最后,他还是没能解决这个难题,呵呵^-^当时的情况是这样的:第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?

    2、代码实现

     1 package com.wcy.october;
     2 
     3 /**
     4  * 时间:2016年10月23日
     5  * Problem Description
     6  * 喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!什么问题?他研究的问题是
     7  * 蟠桃一共有多少个!不过,到最后,他还是没能解决这个难题,呵呵^-^当时的情况是这样的:第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半
     8  * 多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?
     9  * Input
    10  * 输入数据有多组,每组占一行,包含一个正整数n(1<n<30),表示只剩下一个桃子的时候是在第n天发生的。
    11  * Output
    12  * 对于每组输入数据,输出第一天开始吃的时候桃子的总数,每个测试实例占一行。
    13  * Sample Input
    14  * 2
    15  * 4
    16  * Sample Output
    17  * 4
    18  * 22
    19  */
    20 public class RecursionTest4 {
    21 
    22     /**
    23      * 获取每一天吃蟠桃的数目,我们以逆向思维来看
    24      * @param number 第number天
    25      * @return 吃的蟠桃数目
    26      */
    27     public static int getResult(int number){
    28         if (number == 1) {
    29             return 1;
    30         }else if (number == 2) {
    31             return 3;
    32         }else {
    33             return getResult(number-1)*2;
    34         }
    35     }
    36     
    37     /**
    38      * 求总的蟠桃数目
    39      * @param number 一个number天吃完
    40      * @return 总的蟠桃数目
    41      */
    42     public static int getResultValue(int number){
    43         int result = 0;
    44         for (int i = 1; i <= number; i++) {
    45             result += getResult(i);
    46         }
    47         return result;
    48     }
    49     
    50     /**
    51      * 用户页面测试
    52      * @param args
    53      */
    54     public static void main(String[] args) {
    55         int result = getResultValue(4);
    56         System.out.println(result);
    57     }
    58 }
  • 相关阅读:
    hdu 1116 Play on Words
    hdu 1856 More is better
    跟随鼠标跑
    asp.net实现数据流文件下载
    在ASP.NET程序中集成更好的下载体验
    request.ContentType的可取值
    multipart formdata boundary 说明
    ASP.NET中实现多文件上传(普通)
    读取XML文件中的某个节点的某个属性
    获取请求的Headers部分
  • 原文地址:https://www.cnblogs.com/wangchaoyuan/p/5990265.html
Copyright © 2020-2023  润新知