用返回0~6随机数的函数构造返回0~9随机数的函数

本文探讨如何利用返回0~6的随机数函数rand6,构造出返回0~9等概率的随机数函数rand9。通过分析加法和乘法的错误,提出使用7进制数的方法,最终实现rand9函数的C++代码。
摘要由CSDN通过智能技术生成
问题: 给定一个返回0~6的随机自然数的函数,记为rand6(),则如何用rand6()函数构造返回0~9随机自然数的函数rand9()?

对于此问题,首先最容易想到的rand6() + 3、rand6() * 1.5、rand6()*2 - 4 等很明显都是错误的(rand6() + 3将返回的是3~9之间的随机数;rand6() * 1.5对于在返回int型的随机数时某些随机数不能产生;rand6()*2 - 4会产生负数)。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值