随机数

头文件<bits/stdc++.h>

rand()随机不大于32767的数

随机[l,r]的代码如下

int randi(int l,int r){
	long long x=rand();
	while(x<(r-l+1))x*=rand();//乘到>=r-l+1
	return x%(r-l+1)+l;//随机
}

随机len位纯小数

double randd(int len){return 1.*randi(0,pow(10,len))/pow(10,len);}

解释:

eg.len=3

那这个数就可以理解为

原数

=0.001*[0,999]随机数

=randi(0,10^{len}-1)/10^{len}

那[l,r)的len位带小数呢?

double randid(int l,int r,int len){return randi(l,r)+randd(len);}

这个一加就ok!

通用的这些,再说点其他的

rand()字母(A~Z)

char randA(){return randi(0,25)+'A';}

rand字母(a~z)

char randa(){return randi(0,25)+'a';}

rand字母(A~Z or a~z)

char randAa(){return (randi(0,1)?randa():randA());}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值