gpt4 book ai didi

math - 用 Python 数到一百万 - 理论

转载 作者:行者123 更新时间:2023-12-04 01:21:33 25 4
gpt4 key购买 nike

我在学习 Python 时遇到了一个类似“大声数到 1,000,000 需要多长时间?”的问题。它给出的唯一参数是,“你平均每秒数 1 个数字”。我做了那个问题,这不是很困难。然后我开始考虑大声数数,念出每个数字。这个参数对我来说似乎不合时宜,事实上谷歌对“数到一百万需要多长时间”这个问题给出的答案表明它不合时宜。鉴于序列中的每个数字都逐渐变长(呈指数增长??),一定有更好的方法。

任何想法或一般指导都会有所帮助。以不同的时间间隔对不同人的“计数率”进行抽样是否可行?对音节数进行编程会起作用吗?我真的很好奇,并且已经在 SO 和 Google 上寻找不围绕那个看似不准确的“平均时间”的解决方案。

谢谢,抱歉,如果这不是主题或在适当的地方。我潜伏了很长时间,但刚开始发帖,所以如果您需要更多信息或其他信息,请告诉我。谢谢!

最佳答案

为了简单起见,让我们假设您不将 1502 说成“一千五百零二”,而是说成“一千五百零二”。然后我们可以分层分解它。

让我们暂时忽略您是否说“和”(though apparently it is more said than not) 的事实。我将使用这个引用(和英式英语,因为我更喜欢它并且它更一致:http://forum.wordreference.com/showthread.php?t=15&langid=6)如何发音数字。

事实上,为了正式描述这一点,让 t 是一组数字的函数,它告诉您发音该组中的每个数字需要多少时间。那么你的问题是如何计算t([1..1000000]),我们将使用M=t([1..999])

前一个函数的三重态时间

To read a large number we start at the left and read the three-digit groups. The group at the left, of course, may have only one or two digits.

因此,对于每一个数 x 的千,你会说 x thousand y 其中 y 将描述从 1 到 999 的所有数字。

因此,您在 x thousand ... 中花费的时间是 1000 t({1000x}) + M,详情如下:

detail of t(1000x)

请注意,通过简单地定义 t({0}) = 0,此公式可推广到 1000 以下的数字。

现在,根据我们的假设,说“x 千”的时间等于说“x”的时间加上说“千”的时间(当 x > 0 时)。因此你的答案是:

sum to a million

在哪里tau(thousand)是说“千”这个词所需的时间。这假设您将 1000 说成“一千”。如果您只想说“千”,则可能需要删除 1000 tau("one")

我是如何坚持引用的:

The numbers 100-199 begin with one hundred... or a hundred...

您可以用完全相同的方式表示从 tau(million) 数到十亿所需的时间和上面的数字,依此类推 103 的所有更大的幂,即 generalization

考虑到“和”

有一个小的更正需要完成。让我们假设 M 是读出从 1 到 999 的数字所花费的时间当它们前面至少有一组非 0 的数字,包括首字母“和” .

我们的引用资料(好吧,我链接的 wordreference 帖子)说明如下:

What do we say to join the groups? Normally, we don’t use any joining word. The exception is the last group. If the last group after the thousands is 1-99 it is joined with and.

因此我们的更正仅适用于 0 到 999 之间的数字(前面没有非零组):

time from 1 to 999

获取M

或者更确切地说,让我们得到 t([1..999]),因为它更自然并且我们知道它与 M 的关系。

C = t([1..99])X = t([1..9])

在 1 和 999 之间,我们有来自 [1..99] 的所有数字和所有 9 个你不说“和”的精确百位,即 108 次出现。有 900 个数字,前面有一个百位数字。

因此 from 1 to 999

C 可能很难分解,所以我不打算尝试。

最终结果

修正后的公式为: count to 1 billion as f(M)

作为 C 和 X 的函数: count to 1 billion as f(C,X)

请注意,如果您计划进行此乘法运算并具有任何类型的正确数量级,那么您对 ​​tau(word)、C 和 X 的测量需要非常精确。

结论:英国人最终会说很多“and”。最后一个表述的好处是,如果您决定实际上不想发音,则可以删除所有“and”。

关于math - 用 Python 数到一百万 - 理论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27302429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com