早教吧作业答案频道 -->其他-->
关于C语言随机数函数rand()。已经知道了使用srand(time(NULL))、rand()可以产生随机数。但是随机数的范围应该如何设置?比如“均分纸牌”这题:描述Description有N堆纸牌,编号分别为1,2
题目详情
关于C语言随机数函数rand() 。
已经知道了使用srand(time(NULL))、rand()可以产生随机数。
但是随机数的范围应该如何设置?
比如“均分纸牌”这题:
描述 Description
有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。
移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。
现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。
例如 N=4,4 堆纸牌数分别为:
① 9 ② 8 ③ 17 ④ 6
移动3次可达到目的:
从 ③ 取 4 张牌放到 ④ (9 8 13 10) -> 从 ③ 取 3 张牌放到 ②(9 11 10 10)-> 从 ② 取 1 张牌放到①(10 10 10 10)。
如果想要随机生成一些数据进行测试,可知生成数据需要满足一些条件,如何使数据满足这些条件?
高手指教~!
已经知道了使用srand(time(NULL))、rand()可以产生随机数。
但是随机数的范围应该如何设置?
比如“均分纸牌”这题:
描述 Description
有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。
移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。
现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。
例如 N=4,4 堆纸牌数分别为:
① 9 ② 8 ③ 17 ④ 6
移动3次可达到目的:
从 ③ 取 4 张牌放到 ④ (9 8 13 10) -> 从 ③ 取 3 张牌放到 ②(9 11 10 10)-> 从 ② 取 1 张牌放到①(10 10 10 10)。
如果想要随机生成一些数据进行测试,可知生成数据需要满足一些条件,如何使数据满足这些条件?
高手指教~!
▼优质解答
答案和解析
const int limit=11;
int random_value=static_cast((limit*static_cast(rand()))/(RANDMAX+1));
random_value的范围在0到10之间。
int random_value=static_cast
random_value的范围在0到10之间。
看了关于C语言随机数函数rand(...的网友还看了以下:
如图,在方格纸上,三角形DEF是由三角形ABC绕点P顺时针旋转得到的,如果用(2,1)表示方格纸上 2020-05-16 …
如图所示,一个有矩形边界的匀强磁场区域,磁场方向垂直纸面向内.一个三角形闭合导线框,由位置1(左) 2020-06-16 …
如图甲所示,将杯子里装满水,用纸片把杯口盖严,用手按住纸片,把杯子倒过来,放手后,纸片不会掉下来, 2020-06-25 …
取一只纸杯,在底部开一小孔,倒置在实验桌上(倒置时纸杯下垫木条使纸杯的下边缘一端稍稍抬起),用纸团 2020-07-15 …
头脑OM试题制作一个结构,在能够承受1枚或2枚一元硬币的情况下,越高越好。1、只能用1张A4纸制作, 2020-11-06 …
如图,将杯子装满水,用硬纸片把杯口盖严,然后将它倒置,水不会流出,纸片也不会掉下,这表明托住了纸和水 2020-11-10 …
英语书信格式的问题?1,英语书信里日期该写在信封还是信纸里?2,具体该写在哪个位置?3,如果信的开头 2020-12-02 …
喷墨打印机在打印纸张时,纸张以设定的速度匀速移动,打印喷头则随着墨盒一起沿着垂直方向根据打印文件上的 2020-12-02 …
初二英语书上的26课的试验怎么做,我自己做总是失败,明天老师检查,广口瓶里装上水,在杯口用一张卡纸扣 2020-12-02 …
(6分)物理兴趣小组的同学利用图示装置,探究反射声音的强弱与充当反射面的材料是否有关.他们将发声的闹 2020-12-03 …