猴子摘桃python函数 猴子摘桃子python

关于猴子吃桃问题猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾有多吃了一个,第二天早上又将剩下的

用递归法:程序如下:

“只有客户发展了,才有我们的生存与发展!”这是创新互联建站的服务宗旨!把网站当作互联网产品,产品思维更注重全局思维、需求分析和迭代思维,在网站建设中就是为了建设一个不仅审美在线,而且实用性极高的网站。创新互联对网站设计、成都网站设计、网站制作、网站开发、网页设计、网站优化、网络推广、探索永无止境。

#include "stdio.h"

int qitao(int n);/*在主函数之前作调数函数说明*/

void main()

{

int tianxu;/*定义变量天数*/

int taozixu;/*定义变量桃子数*/

printf("请输入天数:");/*在屏幕上显示天数输入说明*/

scanf("%d",tianxu);/*获取用户输入天数给变量tianxu*/

taozixu= qitao(tianxu);/*调用自定义函数qitao(int n)*/

printf("第一天的总桃子数目为%ld",taozixu);/*在屏幕上打印出桃子的总数*/

}

int qitao(int n)/*自定义函数qitao(int n)以计算n天前的桃子数目*/

{

int x;/*定义函数返回值即桃子总数*/

if(n==1)/*如果是最后一天时*/

x=1;/*桃子在最后一天时数目*/

else

x=2*(qitao(n-1)+1);/*前一天的桃子数目等于后一天数量加1乘2*/

return x;/*递归返回桃子数*/

}

别外根据你实在的要求是想人家帮你修改你的程序,你的算法其实也是可以算出来的,你是假设了一个很大的数域里面存在着一个数,它经过10天后,就是1,不过你写的程序不对,应修改如下:

#include stdio.h

void main()

{

long int i=1,k;//i为桃子数,k为天数

long int j;

for(i=1;i100000;i++)

{j=i;

if(j%2==0)

{

for(k=1;k10;k++)

{ j=j/2-1;

}

if(j==1)//判断最后一天的桃子数是否为一个。

goto aa;

}

}

aa:printf("%d",i);

}

海滩上有一堆桃子 五只猴子来分python

逆推法

设最后每分1个,多1,那么是6

那么第4次是6*5+1=31

第3次是31*5+1=156

第2次156*5+1=781

第1次781*5+1=3906

python猴子问题求代码

公猴子群:

monkeyMale = []

母猴子群:

monkeyFemale = []

中性猴子群:

monkeyXman = []

class monkey():

def __init__(self, id, adad, amum, abirth):

self.id = id

self.dad = adad

self.mum = amum

self.birth = abirth

self.couple = -1

def dealDie(self, aYear, aBoy):

xman = aYear - self.birth

xman == 60

如果死了,就放开配偶。

公的放母的:

monkeyFemale[self.couple].couple = -1

母的放公的:

monkeyMale[self.couple].couple = -1

def yieldBaby(self, aYear): # 母猴生猴子

x = aYear - self.birth #计算出母猴子周岁。

if x = 19 and x =59: #生孩子

if self.couple == -1: #要个对象(一对夫妇就生一个孩子)。

for i in monkeyMale:

xman = aYear - i.birth

if (i.couple == -1) and (xman = 19 and xman =59): # 找个没对象的,20岁到60岁的。

self.couple = i.id #互相配偶

i.couple = self.id

break

if self.couple = 0: #找到对象了。

第2题:if x % 10 == 0:

龙凤 = True # 10年,就生龙凤胎

else

龙凤 = False

第3题:if x % 3 == 1/2/0 对应 男、女、中性。

if 男孩 or 龙凤:

newId = len(monkeyMale)

monkeyMale.append(monkey(newId, self.couple, self.id, aYear))

if 女孩 or 龙凤:

newId = len(monkeyFemale)

monkeyFemale.append(monkey(newId, self.couple, self.id, aYear))

if 中性

newId = len(monkeyXman)

monkeyXman.append(monkey(newId, self.couple, self.id, aYear))

上来有个公猴和母猴

monkeyMale.append(monkey(0, -1, -1, 1, True))

monkeyFemale.append(monkey(0, -1, -1, 1, True))

从第1年到第100年。

for iYear in range(1,101):

print("year" + str(iYear))

for i in monkeyFemale: #先生孩子

i.yieldBaby(iYear)

for i in monkeyMale: #公猴子die

i.dealDie(iYear, True)

for i in monkeyFemale: #母猴子die

i.dealDie(iYear, False)

# 中性就没用

for i in monkeyFemale:

print(u"母猴id:%s,父%s,母%s,生于%s" % (i.id, i.dad, i.mum, i.birth))

for i in monkeyMale:

print(u"公猴id:%s,父%s,母%s,生于%s" % (i.id, i.dad, i.mum, i.birth))

for i in monkeyXman:

print(u"中性猴id:%s,父%s,母%s,生于%s" % (i.id, i.dad, i.mum, i.birth))


文章名称:猴子摘桃python函数 猴子摘桃子python
当前网址:http://pwwzsj.com/article/docdoip.html