猴子摘桃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://myzitong.com/article/docdoip.html