桃子到底有多少

来源:互联网 发布:dw做淘宝全屏代码 编辑:程序博客网 时间:2024/06/02 17:52

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

/* * * 问题描述:某人某日摘若干桃子,每天卖出一半并且吃掉一个,最后一天(第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\n", 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;    }}


1 0
原创粉丝点击