假设狗一年1岁,第3年和第5年个生出一条小狗,第六年死亡,计算第n年狗的个数(不考虑公母)
来源:互联网 发布:济南 知乎 编辑:程序博客网 时间:2024/04/28 10:10
2种算法
先定义一个狗的class
class Dog: year = 1 def is_dead(self): return True if self.year >= 6 else False def add(self): self.year += 1 def proc(self): return True if self.year == 3 or self.year == 5 else False
处理狗的增长问题
def prot(a): num = 0 for i in range(len(a))[::-1]: a[i].add() if a[i].proc(): num += 1 if a[i].is_dead(): del a[i] for i in range(num): a.append(Dog()) return a
1,普通的for循环
def fordemo(n): a = [] for i in range(n): if i == 0: a = [Dog()] else: a = prot(a) return a# value = fun(6)value = fordemo(6)for row in value: print row.year
2,递归,更加简单了
def fun(n): if n == 1: return [Dog()] else: return prot(fun(n - 1))value = fordemo(6)for row in value: print row.year
用Python实现的,清晰明朗,哈哈
0 0
- 假设狗一年1岁,第3年和第5年个生出一条小狗,第六年死亡,计算第n年狗的个数(不考虑公母)
- 求特征数列(第n个数是第n-1个数和第n-2个数的和)的第X个数是多少
- 2005年的第一年张帖
- 飛飛(十八)计算fibnacci序列的第n个数
- 计算第n个素数到第m个素数之间所有的素数的和
- 有一个母羊,第2年和第4年可以生一头小母羊,在第5年死去,小母羊在它出生的第2年和第4年生小母羊,第5年死去,求第N年有多少个母羊
- 计算(1,1,2,3,5,8,13.......N)的第N位的数值
- 第三天、计算某日是该年的第几天
- N个数中的第k个最大值
- 输出前n个数组合成的第k个数
- LeetCode60 n个数的排列组合找出第k个排列
- 第一年续签总结以及工作第二年的发展计划
- 做程序的第一年2014年总结
- 第5章 什么是价值观假设和描述性假设
- 1、一组N个数,确定其中第k个最大值
- 假设某一班级有M名学生,没人考N门功课,试设计两个c++函数,(1)求第i个学生N门功课的平均分数。(2)求第j门课程的平均分数
- 查找第n个数
- 计算某一天是这一年的第几天
- 理解angularjs中的$emit,$broadcast和$on
- Python:urllib 和urllib2之间的区别
- hdoj1869六度分离(floyd)
- 【Linux系统编程】vfork() 函数详解
- C++ Primer 第6章 知识点回顾
- 假设狗一年1岁,第3年和第5年个生出一条小狗,第六年死亡,计算第n年狗的个数(不考虑公母)
- URL重定向,referer,referrer和安全
- JavaIDE_MyEclipse生成可执行Jar文件
- unity3d 24
- 回调
- APP逆向(中)
- Redis笔记六之管道
- Java攻城狮笔记2——JDK命令行工具
- Android 平滑图片加载和缓存库 Glide 使用详解