求C++随机数生成器

灌水区

Ljh421 @ 2024-09-20 12:08:59

要可以选择范围的,看了网上的还是不会所以来这里问


by NOBenRen @ 2024-09-20 12:13:04

用rand()就行了啊


by NOBenRen @ 2024-09-20 12:14:44

@Ljh421

#include<bits/stdc++.h>
using namespace std;
long long n;//生成一个10~10000的随机数 
int main(){
    srand(time(0));
    n=(rand()+10)%10000+1;
    return 0;
}

by Ljh421 @ 2024-09-20 12:15:26

@xiaolongmei 谢谢


by mwr001 @ 2024-09-20 12:19:15

同理

int n=rand()%(最大值-最小值+1)+最小值 ;

也可以实现定范围随机数


by NOBenRen @ 2024-09-20 12:20:27

@Ljh421 如果怕不行就:(保证不会超范围)

#include<bits/stdc++.h>
using namespace std;
long long n;//生成一个10~10000的随机数 
int main(){
    srand(time(0));
    while(n>0){
        n=(rand()+10)%10000+1;
        if(n<10||n>10000)n=0;
    }
    cout<<n;
    return 0;
}

by lzm0107 @ 2024-09-20 12:47:31

@Ljh421 mt19937 无论在性能还是随机数质量方面均优于 rand,link


|