C 语言
整数
#include <stdlib.h>
通用公式:rand()%n+a; //a为起始值,n为整数范围
(rand()%(b-a))+a+1; //获得(a,b)的随机数
(rand()%(b-a))+a; //获得[a,b)的随机数
(rand()%(b-a+1))+a; //获得[a,b]的随机数
浮点数
(double)rand()/(RAND_MAX +0.0); // 获得[0,1]之间的浮点数
(double)rand()/(RAND_MAX +1.0); // 获得[0,1)之间的浮点数
rand()+(double)rand()/RAND_MAX; //获得随机小数
C++
#include <random>
std::vector<int> s_random_color_r(255), s_random_color_g(255), s_random_color_b(255);
std::iota(s_random_color_r.begin(), s_random_color_r.end(), 1);
std::iota(s_random_color_g.begin(), s_random_color_g.end(), 1);
std::iota(s_random_color_b.begin(), s_random_color_b.end(), 1);
std::random_device rd;
std::mt19937 g(rd());
std::shuffle(s_random_color_r.begin(), s_random_color_r.end(), g);
std::shuffle(s_random_color_g.begin(), s_random_color_g.end(), g);
std::shuffle(s_random_color_b.begin(), s_random_color_b.end(), g);
auto shuffel_RGB = [&](){
std::shuffle(s_random_color_r.begin(), s_random_color_r.end(), g);
std::shuffle(s_random_color_g.begin(), s_random_color_g.end(), g);
std::shuffle(s_random_color_b.begin(), s_random_color_b.end(), g);
};
来源:CSDN
作者:Neverland_LY
链接:https://blog.csdn.net/qq_34719188/article/details/103935904