如何只得到c ++中随机生成的大数字的第一个数字

时间:2018-03-17 23:18:55

标签: c++

我制作了一个生成随机数的代码,代码从高分辨率时钟获得一个代码,然后在每次循环发生时使用其他变量进行大量操作,我这样做是因为我需要一个非常大的ammount随机数字(如数百万)的速度非常快,获得它们的常规方法是使打印的数字变得相似和重复。

所以,我需要这些数字在0-10之间(负数或正数),但由于代码的性质,它们有时大于10或小于-10,这意味着,如果我得到了生成的数字的第一个数字,我应该总是只有一个数字的随机数。

我正在考虑用字符串修复此问题,但我无法做到(很难成为新手):( 继承我的代码(不,使用if / else不起作用,因为我以后也需要使用非常具体的随机数量,这意味着,每个大于10或小于0的数字都不会打印,而且&# 34;确切的ammount"不起作用,如果添加一个循环,由于某种原因,"确切的ammount"变得超级随机):

int main(){

我想要"终极"总是一个1位数的数字,没有if / else

谢谢:)

1 个答案:

答案 0 :(得分:2)

你一定想要第一个数字吗?否则,获取最后数字会更简单;)

ultimate = ultimate % 10

我认为如果你真的想要第一个,除了十分之外你没有别的选择(如果这是一个问题,将有办法优化循环次数):

while (ultimate > 10) {
  ultimate /= 10
}

您会在this question

中找到很多方法