我不太懂编程 。但是我能给你一个思路
先在1-8之间随机生成一个 。如果生成的是1-7就输出 。如果生成8 。那就重新再来一次 。这样如果八个数字概率相等的话 。最后生成1-7的概率也是相等的 。大致如图

文章插图
1-7七个数字的概率的概率就是1/8+1/64+1/512…=(1/8)(1-1/8?)/(7/8) 。当n趋近于∞时就等于1/7
其他观点:
比如用C来说 。可能没写规范啊 。大概意思就是这么回事
设2个对象
int a=rand(8);
int b=8;
然后用if else 。如果a=b就重新随机 。否则直接print直接输出就行了
其他观点:
【如何用一个1-8随机数生成器制作一个1-7随机数生成器?】rand(7)不行吗?非要rand(8)吗?
推荐阅读
- 人类首次实现“量子霸权”了吗?
- 真正意义的随机数生成器存在吗?
- 快速且高效的随机数生成算法有哪些?
- 拍电影时为什么要打板呢?
- 如何批量生成交叉25码code 2 of 5 Interleaved?
- 程序员是如何找项目练手的?
- 全球首款5G量子手机发布这是款什么高科技产品贵吗?
- 如何看待骁龙845?
- 如何看待七夕张大仙“查房”女主播一事?