随机生成a~b之间内的任意整数(函数)
  • 板块学术版
  • 楼主luogu_lc
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/30 00:42
  • 上次更新2024/7/30 05:36:50
查看原帖
随机生成a~b之间内的任意整数(函数)
1033951
luogu_lc楼主2024/7/30 00:42
int randomInt(int a, int b) 
{
    // 确保a不大于b
    if (a > b) 
	{
        int temp = a;
        a = b;
        b = temp;
    }
	  // 生成随机数
    int random_number = a + rand() % (b - a + 1);
	return random_number;
}

在这个例子中,randomInt函数接受两个整数a和b作为参数,并返回一个在[a, b]区间内的随机数。它首先确保a不大于b,然后计算rand()模(b - a + 1)的结果,并将其加到a上以调整范围。最后,它返回生成的随机数。

请注意,由于rand()函数的局限性,对于需要高质量随机数的应用程序,建议使用库中的现代随机数生成和分布设施。此外,每次程序运行时调用srand(time(0))来设置随机数种子是一个好习惯,这样可以确保每次程序运行时生成的随机数序列都是不同的。然而,如果你在一个短时间内多次调用生成随机数的函数,并且不希望随机数序列发生变化,那么你可能需要避免在每次调用时都重新设置种子。

2024/7/30 00:42
加载中...