草庐IT

python-10.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二早上将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃前一天剩下的一半再加一个。

第10天还没吃,就剩1个,说明第9天吃完一半再吃1个还剩1个,假设第9天还没吃之前有桃子x个,可得:x*1/2-1=1,可得x=4。以此类推,即可手算出。代码思路为:第10天还没吃之前的桃子数量初始化x=1,之后9至1循环9次,根据上述内容反推为x=(x+1)*2可得第1天还没吃之前的桃子数量。第一种方法:for循环#for循环x=1print('第10天吃之前就剩1个桃子')foriinrange(9,0,-1):x=(x+1)*2print('第%d天吃之前还有%d个桃子'%(i,x))print('第1天共摘了%d个桃子'%x)结果: for循环中的print()语句是为了验证推算过程而

看完书上的栈不过瘾,为什么不动手试试呢?

一.栈的基本概念1.栈的定义栈(Stack):是只允许在一端进行插入或删除的线性表。首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。其中注意几点:栈顶(Top):线性表允许进行插入删除的那一端。栈底(Bottom):固定的,不允许进行插入和删除的另一端。空栈:不含任何元素的空表。栈又称为后进先出(LastInFirstOut)的线性表,简称LIFO结构2.栈的常见基本操作/支持动态增长的栈typedefintSTDataType;typedefstructStack{STDataType*_a;int_top;//栈顶int_capacity;//容量}Stack;//初始