gpt4 book ai didi

c - C中基数排序的不同基础

转载 作者:太空宇宙 更新时间:2023-11-04 07:17:52 24 4
gpt4 key购买 nike

我很难理解基数排序。我在实现以 2 或 10 为底的代码时没有问题。但是,我有一个作业需要命令行参数来指定基数。基数可以是 2 - 100,000 之间的任何值。我花了大约 10 个小时试图理解这个问题。我不要求直接回答,因为这是作业。但是,如果有人可以阐明这一点,请这样做。

有些事情我不明白。以 100,000 为基数有什么意义?那怎么行呢。我知道字母表中的每个字母或每个数字 1-9 都有一个基数。我似乎无法理解这个概念。

如果我不够具体,我很抱歉。

最佳答案

任何基数 B 中的数字 N 只是范围 [0, B-1] 中的一系列数字。由于我们没有足够的符号来表示“正常”人类书写系统中的所有数字,所以不要考虑它是如何用字符书写的。您只需要知道数字是单独存储/写入的

例如 255 以 177 为基数是一个两位数,其中第一位的值为 1,第二位的值为 78,因为 25510 = 1×1771 + 78×1770.如果某些文化使用这个基础,他们将有 177 个不同的数字符号,并且他们只用 2 位数字书写。由于我们只有 10 个符号,因此我们需要定义一些符号来分隔数字,通常是 :。从 Wolfram Alpha 可以看出,25510 = 1:78177

请注意,并非所有人都以 10 为基数。存在 cultures that count in base 4, 5, 6, 8, 12, 15, 16, 20, 24, 27, 32, 36, 60 ... 所以他们的符号会比我们大多数人多或少。然而在非十进制的基数中,现在最常用的只有基数20、12和60。

在 base 100000 中是一样的。 1234567890987654321将是一个写成符号的4位数字,其值依次为1234、56789、9876、54321

关于c - C中基数排序的不同基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23137296/

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