Tag: 随机

随机数发生器如何在C中工作?

我正在尝试生成0到40(含)之间的随机数。 所以我实施的代码就是 – y=rand()%41; 但是每次我点击编译并点击Run。 它输出相同的随机数。 比如说,例如我在循环中运行它。 for(i=0;i<4;i++) { y=rand()%41; printf("%d ",y); } 每一次,输出都是相同的4个数字。 它总是在终端输出14,2等。 无论。 所以我的第一个问题是,为什么会发生这种情况? 其次,随机数发生器如何在C中工作? 我想,因为我包含了time.h库,所以使用系统时间通过一些标准算法生成数字。 并且由于系统时间不断变化,每次运行程序时生成的数字也应该更改。

C – 相对于平均值在一个区间内生成随机数

我需要在一个区间内生成一组随机数,这也恰好具有平均值。 例如min = 1000,max = 10000,平均值为7000.我知道如何在一个范围内创建数字,但我正在努力平均值。 有没有我可以使用的function?

rand()返回相同的数字

我在C中用rand()做了一个简单的例子,但是函数总是返回相同的数字,尽管我使用的是srand()。 这是代码: #include #include #include int generate(int min, int max) { srand(time(NULL)); return rand() % (max – min + 1) + min; } int main() { int i; for (i = 0; i < 10; i++) { printf("Number random %d = %d\n", i, generate(1, 100)); } return 0; } 执行: 数字随机0 = 40数字随机1 = 40数字随机2 […]

在范围和特定步骤中生成C中的随机数

好吧,很可能它会被标记为重复,但我正在寻找答案,找不到类似的东西。 问题是:我想生成特定范围内的随机数[即min_value到max_value]并使用特定步骤。 第一部分的答案是: int random_value = rand() % max_value + min_value; 该步骤如何定义它? 我想上面提到的解决方案导致步骤1.正确吗? 如果我想用步骤2(例如2,4,…,16)生成数字,我该怎么办?

我需要在C中生成随机数

可能重复: 如何在C中生成一个随机数? rand()的实现 在Blender3D中生成随机地形 我需要C中的高质量随机数,但我不知道该怎么做。 我需要能够从1-100获得数字。 任何帮助或可能指向我可以找到帮助的地方。

写交流函数,产生一个随机数,或一对随机数,或给定特定范围的随机数的三元组

我必须为3个不同的案例生成随机数。 一世。 1个骰子ii。 一对骰子iii。 我的问题是:1。请建议我使用良好的逻辑来生成所有3个案例的随机数。 2.当我考虑2个骰子的而不是1时,逻辑会改变吗? 3.我们必须生成一个随机数的范围会影响随机函数的逻辑吗?

创建一个小于最大给定值的随机数

我想做的是创建一个函数,该函数接受一个参数,该参数是随机生成应该创建的数字的限制。 我经历过一些生成器只重复生成一遍又一遍的数字。 如何使生成器不能连续返回相同的数字。 有人可以帮助我实现我的目标吗? int randomGen(int max) { int n; return n; }

使用rand()在(a,b),和上生成均匀分布的浮点数

我想收集在一个地方生成所有四种类型间隔的随机数的“最佳”方法。 我厌倦了谷歌搜索这个。 搜索结果出现了很多废话。 甚至相关的结果都是页面或博客,这些页面或博客通常都是错误的,或者讨论过自我指定的专家在一些技术性方面彼此不同意,通常他们的“答案”似乎暴露出他们不了解不同的类型(关闭)间隔开放,半开放。 我厌倦了阅读关于在C中为这样一个“简单”问题生成随机数的不良信息。 请告诉我如何生成均匀分布的浮点数。 这是我在(a,b),[a,b),(a,b]和[a,b]上的典型方式(使用“long double”作为例子): long double a=VALUE1,b=VALUE2; long double x1,x2,x3,x4; srand((unsigned)time(NULL)); /* x1 will be an element of [a,b] */ x1=((long double)rand()/RAND_MAX)*(ba) + a; /* x2 will be an element of [a,b) */ x2=((long double)rand()/((long double)RAND_MAX+1))*(ba) + a; /* x3 will be an element of (a,b] */ x3=(((long double)rand()+1)/((long double)RAND_MAX+1))*(ba) + […]

random或rand函数打印相同的值,即使在不同的机器上也是如此

我想打印1到6范围内的随机数。我有以下代码。 printf(“The random value is %d \n”,random(6)); 每次运行代码时都会打印1804289383。 即使在不同的机器上。 我也试过rand(6)仍然输出相同。 即使我删除了6,输出也没有改变。 请建议如何解决它 提前致谢 SANKET

随机数独生成

我正在编写一个函数,可以为模拟项目生成随机的数独游戏; 这个函数将生成的单元格数作为argoument,然后生成要放入这些单元格的单元格和数字的索引。 我在生成单元格索引时遇到问题,我不是编程专家,我找不到一个好的例程来生成索引,并且检查不是两次或更多次的同一索引。 function是: void gen_puzzle(int quanti) { if(quanti>81) exit(1); indexes* ij=new indexes[quanti]; int f,g,k, controllo=1; do { for(f=0; f<9; f++) for(g=0; g<9; g++) { puzzle[f][g].num=0;//puts 0 in the sudoku puzzle puzzle[f][g].p=0; } //////////////section to improve out: srand(int(time(0)+clock())); for(k=0; k<quanti; k++) ij[k].i=casuale()-1, ij[k].j=casuale()-1;//generates random indexes of sudoku cells where put random nubers for(f=0; f<quanti; f++) […]