“模除+加法”的方法
因为,对于任意数,0<=rand()%(n-m+1)<=n-m
因此,0+m<=rand()%(n-m+1)+m<=n-m+m
因此,如要产生[m,n]范围内的随机数num,可用:
int num=rand()%(n-m+1)+m;
其中的rand()%(n-m+1)+m算是一个公式,记录一下方便以后查阅。
比如产生10~30的随机整数:
srand((int)time(0));
int a = rand() % (21)+10;
这篇博客介绍了如何利用模除运算和加法生成指定范围[m, n]内的随机数。通过 rand()%(n-m+1)+m 的公式,可以便捷地在C++中创建10到30这样的随机整数。文章强调了这个公式的实用性,并提供了具体的代码示例,适合程序员参考和应用。
“模除+加法”的方法
因为,对于任意数,0<=rand()%(n-m+1)<=n-m
因此,0+m<=rand()%(n-m+1)+m<=n-m+m
因此,如要产生[m,n]范围内的随机数num,可用:
int num=rand()%(n-m+1)+m;
其中的rand()%(n-m+1)+m算是一个公式,记录一下方便以后查阅。
比如产生10~30的随机整数:
srand((int)time(0));
int a = rand() % (21)+10;

被折叠的 条评论
为什么被折叠?