澳门新葡亰网址大全C自学笔记-递归与迭代的使用

2019-11-12 作者:网络时代   |   浏览(169)

C语言:猴子吃桃问题,每天吃一半多一个,第 10天后只剩1个,求共多少个

#include<stdio.h>

int main()

{

 int i=0;

 int sum=1;

 for(i=1;i<=9;i++)

 {

  sum=(sum+1)*2; 

 }

 printf("sum=%d",sum);

return 0; 

}

 

http://www.bkjia.com/Cyy/1063330.htmlwww.bkjia.comtruehttp://www.bkjia.com/Cyy/1063330.htmlTechArticleC语言:猴子吃桃问题,每天吃一半多一个,第 10天后只剩1个,求共多少个 #includestdio.h int main() { int i=0; int sum=1; for(i=1;i=9;i++) { sum=(sum+1)*2...

递归和迭代在刚开始学C语言的时候就学过,但是不知道怎么使用。今天遇到一个题目分析过后

我瞬间想起来之前学过递归的方法,做完题后顺便翻了翻书整理了这个笔记。题目大概是这样的。

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个

    第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下

    的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

实力分析一波:

1:1

2:(1+1)*2

3:(n2+1)*2

10:(n9+1)*2

用递归:

int taozi(int i)

{

    int sum;

    if(i>1) sum = taozi(i-1)*2;

    else sum=1;

    return sum;

}     

 

总结:

1:递归一定要有结束条件作为返回;

2:递归的逻辑即将一个大的问题分解成一个一个越来越小的相同的问题 从而做到以小解大;

本文由澳门新葡亰网址大全发布于网络时代,转载请注明出处:澳门新葡亰网址大全C自学笔记-递归与迭代的使用

关键词:

  • 上一篇:没有了
  • 下一篇:没有了