zoukankan      html  css  js  c++  java
  • 猴子吃桃算法

    猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一 个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一 个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
    程序分析:采取逆向思维的方法,从后往前推断。


    下面用了for循环和递归两种方法来实现

    package com.math.forth;
    
    /***
     * 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一 个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
     * 以后每天早上都吃了前一天剩下的一半零一 个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
     * 程序分析:采取逆向思维的方法,从后往前推断。
     * 
     * @author wql
     *
     */
    public class Math10 {
        public static void main(String[] args) {
            method();
            System.out.println(method2(1));
        }
    
        /***
         * 循环遍历
         */
        public static void method() {
            int sum = 1;// 第十天桃子数量
            for (int i = 9; i > 0; i--) {
                sum = (sum + 1) * 2;
            }
            System.out.println(sum);
        }
    
        /**
         * 递归方法
         * 
         * @param day
         * @return
         */
        public static int method2(int day) {
            if (day == 10) {
                return 1;
            } else {
                return (method2(++day) + 1) * 2;
            }
        }
    }
    

    这里写图片描述

  • 相关阅读:
    axios
    JavaScript ES6部分语法
    JSP 基础之 JSTL <c:forEach>用法
    JS ajxa请求 返回数据
    java中的各种数据类型在内存中存储的方式
    sql之left join、right join、inner join的区别
    错误”ORA-12560: TNS: 协议适配器错误“解决方法
    Hibernate 和 Mybatis的区别
    eclipse启动几秒后报错 (一闪而过)
    sql ---- count 误区
  • 原文地址:https://www.cnblogs.com/wangqilong/p/9417535.html
Copyright © 2011-2022 走看看