自治随机数
  • 板块灌水区
  • 楼主da_ke
  • 当前回复15
  • 已保存回复15
  • 发布时间2023/10/1 21:39
  • 上次更新2023/11/2 16:41:05
查看原帖
自治随机数
766675
da_ke楼主2023/10/1 21:39
#include <bits/stdc++.h>
#define int long long
#define rep(i,l,r) for(int i=l;i<=r;++i)

using namespace std;

int my_rand(int k,int seed,int mod){
	int a=seed;
	rep(i,1,k)
		a=a*clock()*time(nullptr)*a%mod;
	return abs(a)/(2);
}

signed main()
{
	cout<<my_rand(114514,time(nullptr),10001)<<endl;
	//第一个参数是迭代次数,显然越大越好.
	//第二个参数是种子,就是迭代初始值,建议时间或者是int极值
	//第三个mod建议大质数.
}

我经过测试认为就是跨度太小,特别在大范围时,有没有办法让他跨越大一点.

2023/10/1 21:39
加载中...