为了账号安全,请及时绑定邮箱和手机立即绑定

我无法理解这个问题的人数是如何增长的(指数、线性等)

我无法理解这个问题的人数是如何增长的(指数、线性等)

动漫人物 2023-09-12 10:40:24
有人能告诉我 N 在这个问题中如何增长(以及如何编码)吗?家谱从 x 和 y 的婚姻开始,他们有两个孩子。其中两个孩子结婚了,一个仍然单身。在这个奇特的家庭里,同样的公式每次都会重复出现。每个人都有三个孩子,其中两个已结婚,一个仍然单身。编写一个函数,确定第 N 代结婚时树中的人数。(包括配偶)x 和 y 的孩子是第一代这是我尝试过的:def generations(n):    people = 0    for i in range(1, n):        generation = i * 2 - 1        people += generation    return people
查看完整描述

2 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

i * 2 - 1 是一个线性方程,实际上并不是几代人的准确解读。

这听起来像是一个家庭作业问题。因此,想象一下,2 个人有 3 个孩子,2 个结婚(这一代有 5 个孩子结婚),那一代有 2 个家庭有 3 个孩子(6 个)4 个结婚(这一代有 10 个孩子结婚)。下一代: 4 个家庭有孩子给予 (12) 婚姻 -> 20... 等。我假设您需要找到一个方程来对此进行建模。


查看完整回答
反对 回复 2023-09-12
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

P(0) = 2

P(1) = 2P(0) + 1

P(2) = 4P(0) + 2

P(3) = 8P(0) + 4

P(4) = 16P(0) + 8

...

P(N) = (2**N)P(0) + 2**N-1

P(N) = (2**N-1)(2P(0) + 1)

P(N) = (2**N-1)(5)

so the total number of people is:

P(0) + P(1) + P(2) ... + P(N) = 2 + 5 ( (2 ** N) - 1)

您的问题的函数是 5 ((2 ** N) - 1) + 2,并且它不是线性的。它实际上是指数级的。


查看完整回答
反对 回复 2023-09-12
  • 2 回答
  • 0 关注
  • 55 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信