zoukankan      html  css  js  c++  java
  • 桃子到底有多少

    计算桃子有多少,有递归和递推两种方法。

    /*
     *
     * 问题描述:某人某日摘若干桃子,每天卖出一半并且吃掉一个,最后一天(第n天)剩下一个。
     * 编写一个递归程序,天数n作为参数,计算一共摘了多少桃子。
     *
     * 分析问题可以得出以下的递推函数:
     * f(1) = 1                          n=1
     * f(n) = 2 * ( f(n-1) + 1 )  n>1
     *
     * 桃子问题算法程序:分别用递归和递推实现
     *
     */
    
    #include <stdio.h>
    
    long peach1(int n);
    long peach2(int n);
    
    int main(void)
    {
        int i;
        for(i=1; i<=10; i++)
            printf("%d %ld %ld
    ", i, peach1(i), peach2(i));
    
        return 0;
    }
    
    long peach1(int n) {
        if(n == 1)
            return 1;
        else
            return 2 * (peach1(n-1) + 1);
    }
    
    long peach2(int n) {
        if(n == 1)
            return 1;
        else {
            long res = 1L;
            while(n>1) {
                res = 2 * (res + 1);
                n--;
            }
            return res;
        }
    }
    


  • 相关阅读:
    Web开发规范
    选择器优先级计算
    CSS 技巧
    CSS3滤镜
    CSS3动画
    css3 <3D 转换>
    CSS3 2D 转换
    CSS3文本(text)模型
    CSS3颜色和渐变
    王道8.6
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564960.html
Copyright © 2011-2022 走看看