首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不明白在这个问题中人数是如何增长的(指数增长,线性增长等等)

我不明白在这个问题中人数是如何增长的(指数增长,线性增长等等)
EN

Stack Overflow用户
提问于 2020-09-26 20:20:31
回答 2查看 44关注 0票数 0

有人能告诉我,N是如何在这个问题中增长的(以及如何编码)吗?

家谱从x和y的结合开始,他们有两个孩子。这些孩子中有两个结婚了,另一个仍然单身。在这个特殊的家庭中,同样的公式每次都会重复。每个人都有三个孩子,其中两个结婚了,一个仍然单身。编写一个函数,以确定第N代人结婚时树上的人数。(包括配偶)

  • x和y的孩子是第一代

这就是我试过的:

代码语言:javascript
复制
def generations(n):
    people = 0
    for i in range(1, n):
        generation = i * 2 - 1
        people += generation
    return people
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-26 20:39:12

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

这听起来像是家庭作业问题。因此,想想看,两个人有三个孩子,两个结婚(这一代人中有五个),那一代人有两个有三个孩子的家庭(6),四个结婚(这一代人中有10个)。下一代:有4个家庭有孩子,给(12) -> 20结婚。ect。我假设你需要找到一个方程来建立这个模型。

票数 1
EN

Stack Overflow用户

发布于 2020-09-27 01:16:37

代码语言:javascript
复制
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,它不是线性的。实际上是指数级的。

为了更好地理解数学部分,您可以查看https://en.wikipedia.org/wiki/1_%2B_2_%2B_4_%2B_8_%2B_%E2%8B%AF

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64082168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档