gpt4 book ai didi

c++ - 来自 Stroustrup 的 PPP 使用 C++ 的伪随机数生成器,第 8 章,练习 8 和 9

转载 作者:行者123 更新时间:2023-11-28 03:33:39 25 4
gpt4 key购买 nike

我正在尝试解决 B. Stoustrup 的书“编程 - 使用 C++ 的原理和实践”第八章中的练习 8 和 9。

练习 8 涉及编写一个名为 randint() 的函数生成 [0;MAXINT] 范围内的随机整数. MAXINT 应该是什么?是否可以将更大的数字存储在 int 中?它是函数的参数吗?作者没有说明。给出的唯一提示是:“编程艺术,Knuth,第 2 卷”。那本书描述了一种称为 linear congruential method 的算法。 ,其中涉及 4 个参数(请参阅链接的维基百科文章)。

练习 9 涉及使用 randint(int a, int b)练习 8 中的函数生成范围 [a;b] 内的随机整数.

现在我可以编写一个实现线性同余方法的函数,带有 4 个参数,但这不是作者想要的。我试图了解他想要什么,并想知道是否有人解决了这些练习。不幸的是,作者的网站上没有这些练习的解决方案。

感谢您的建议。

最佳答案

标准 C++ 中没有名为 MAXINT 的内容.

有一个宏INT_MAX , 在 <climits> 中定义(C 中的 <limits.h>);它扩展为一个常量表达式,其值为 int 类型的最大值.如果int为 32 位,例如 INT_MAX可能是 2147483647 .

或者MAXINT在本书的其他地方描述(检查索引和/或练习前的几页),或者这是一个错误,Stroustrup 打算引用 INT_MAX .

如果你找不到这个 MAXINT 在哪里已定义,您可以只替换 INT_MAX .

关于c++ - 来自 Stroustrup 的 PPP 使用 C++ 的伪随机数生成器,第 8 章,练习 8 和 9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11803231/

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