random.h

来自「Miller rabin素性检测算法源代码」· C头文件 代码 · 共 69 行

H
69
字号
#include<iostream>
#include<ctime>

using namespace std;

class Random {
	
	public:
		
		Random(int a,int b);
		
		Random();
		
		int random();
		
		int random(int a,int b);
		
		double randomf(int a,int b);
		
	private:
		
		double random1();
		int low;
		int high;
};

Random::Random()
{
	low = 0;
	high = 1000;
	srand((unsigned)clock());
}

Random::Random(int a,int b)
{
	low = min(a,b);
	high = max(a,b);
	srand((unsigned)clock());
}
	
int Random::random(int a,int b)
{	
	int t = rand();
	
	return a+t%(b-a)+1;
}	

int Random::random()
{
	return random(low,high);
}

double Random::random1()
{
	double m = (double)random();
	double n = (double)random();
	
	if(m==0&&n==0)return 0;
	else return (m<n)?(m/n):(n/m);
}		

double Random::randomf(int a,int b)
{
	return a+(b-a)*random1();
}

	
	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?