1.一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。
这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子?
递归出口:经过的村子数为0
递归体:剩余的鸭子数目加以乘以2
2.角谷定理。输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到自然数值1。求经过多少次可得到自然数1。
如:输入22,
输出 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
STEP=16
递归出口:自然数变为1
递归体:若为偶数,则把它除以2,若为奇数,则把它乘以3加1。
1. while (vil_num > 0)
{
return Duck_number1((count+1)*2,vil_num-1);
}
return count; //直接返回鸭子总数
2. while (number != 1) {
//偶数除以2奇数乘以3加1
if (number % 2 == 0){
number /= 2;
printf("%d ", number);
return Ste