C++ 如何在c+;中仅获取随机生成的大数的第一个数+;

C++ 如何在c+;中仅获取随机生成的大数的第一个数+;,c++,C++,我制作了一个生成随机数的代码,该代码从高分辨率时钟中得到一个,然后对vale中的其他变量执行许多操作,每次循环发生时,这些变量都会上升,我这样做是因为我需要非常大数量的随机数(比如数百万)非常快,获取它们的常规方法是使打印的NUM相似且重复 我需要这些数字在0-10之间(负数或正数),但由于代码的性质,它们有时大于10或小于-10,这意味着,如果我得到生成的数字的第一位数字,我应该总是有一个只有一位数字的随机数 我想用一根绳子来修复这个问题,但我做不到(做一个新手很难):( 这是我的代码(不,使

我制作了一个生成随机数的代码,该代码从高分辨率时钟中得到一个,然后对vale中的其他变量执行许多操作,每次循环发生时,这些变量都会上升,我这样做是因为我需要非常大数量的随机数(比如数百万)非常快,获取它们的常规方法是使打印的NUM相似且重复

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

我想用一根绳子来修复这个问题,但我做不到(做一个新手很难):( 这是我的代码(不,使用if/else不起作用,因为我以后也需要使用一个非常特定的随机数,这意味着,每个大于10或小于0的数字都不会被打印出来,“精确数”不起作用,如果一个add循环由于某种原因,“精确数”会变得超级随机):

int main(){

inta,b,c,d,e,f,g,h,i,k,a,b,c,d;
int极限;
srand(时间(空));
int seed=rand();
默认的随机引擎运行{static_cast(chrono::high_resolution_clock::now().time_since_epoch().count())};
默认的\u随机\u引擎运行\u 2{static\u cast(chrono::high\u resolution\u clock::now().time\u since\u epoch().count())};
均匀分布范围{1,50};
a=范围(ran);
b=2;
c=107;
d=109;
e=113;
f=167;
g=173;
h=587;
i=13;

你一定要第一个数字吗?否则,得到最后一个数字就简单多了;)

ultimate=ultimate%10
我认为如果你真的想要第一个,你没有别的选择,只能通过十个分区(如果这是一个问题,将有办法优化循环的数量):

while(极限值>10){
极限/=10
}

您可以在

中找到许多方法提示:10^楼层(log10(N))你确定它们是随机数吗?使用时钟不会给出一个随机数。事实上,我认为你不会找到很多可预测的来源!此外,除非你是该领域的专家,否则不要尝试使用你自己的“随机”数生成器。通常情况下,它会有缺陷。你为什么要递增
b
253次,而不是递增JUt增加253?@EdHeal-好吧,2是一个随机数,但173…我不太确定。小心!第一个数字(.e.单位)不像LCM生成器中的高位数字那样随机。
int a,b,c,d,e,f,g,h,i,k,A,B,C,D;
int ultimate;

srand(time(NULL));
int seed = rand();
default_random_engine ran { static_cast <int>( chrono::high_resolution_clock::now().time_since_epoch().count())};
default_random_engine ran_2 { static_cast <int>( chrono::high_resolution_clock::now().time_since_epoch().count())};
uniform_int_distribution <int> range {1,50};

a=range (ran);
b = 2;
c = 107;
d = 109;
e = 113;
f = 167;
g = 173;
h = 587;
i = 13; 

cout << "Random array of numbers\n" << endl;

for ( k=0; k < 100000; k++) {

    srand(time(NULL));
    int seed = rand();
    default_random_engine ran { static_cast <int>( chrono::high_resolution_clock::now().time_since_epoch().count())};
    default_random_engine ran_2 { static_cast <int>( chrono::high_resolution_clock::now().time_since_epoch().count())};
        uniform_int_distribution <int> range {1,50};
    a=range (ran);

b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;    b++;
c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;    c++;
d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;    d++;
e++;    e++;    e++;    e++;    e++;    e++;    e++;    e++;    e++;    e++;    e++;    e++;    e++;    e++;    e++;    e++;    e++;    e++;
f++;    f++;
g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;   g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;   g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;   g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;   g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;   g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;   g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;   g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;   g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;   g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;   g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;   g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;   g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;    g--;
h--;    h--;    h--;    h--;    h--;    h--;    h--;    h--;    h--;    h--;    h--;
i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;    i--;

       A= (a*b*c*f);
       B= ((A^13)/d*h-i^a);
       C= (A*B^i-b*h*g*e*a);
       D= (b+c+d+e+f+g+h+i)*a;
       ultimate= ((a*A*B*C*D)/100000000);
 }