递归问题——卖鸭子啦!!!!
题目:
一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了七个村子后还剩两只鸭子,问他出发时总共赶了多少只鸭子?经过每个村子卖出多少只鸭子?
前言
递归问题
提示:以下是本篇文章正文内容,下面案例可供参考
一、题目分析
经过7个村子后他还剩2只鸭子,而每经过一个村子卖出所赶鸭子的一半多一只,所以在经过第七个村子前他所赶的鸭子数为(2+1)*2=6只,经过第7个村子时卖出6/2+1=4只。设经过7个村子之后,即在经过第8个村子之前,village=7,duck=2,即f(7)=2。f(6)=(f(7)+1)*2,卖出f(6)/2+1只。以此类推,可得出他出发时的鸭子数以及经过每个村子卖出鸭子数。
二、算法分析
1.数学公式
f(x)表示经过x村子后剩余的鸭子数