| Sun 的个人资料孙涛的空间 : 大悲无泪,大悟无言,大笑无声。日志 | 帮助 |
|
6月14日 回来瞧瞧我的空间! 几天没来,又差点遗忘这个空间,今晚独自在家,得有空来这里看看。
旅游的计划落空了,应该也算意料之中了,虽然有些失望,我也没有太多的办法去争取!
每天坚持看了会书,这种感觉还是不错的,至少心里还惦记着学习的事情,没有玩的太忘乎所以!
担心和焦虑让我不安。
晚饭过后,休息片刻,打篮球来消磨时间。篮球,打了这么多年,技术还是还是那么烂,想提高却没能苦下功夫。做什么事情都不能坚定信心,不能刻苦努力,就连玩都是这样。真怀疑自己在工作中的状况。 6月3日 随机数类的实现#include <iostream>
#include <time.h> using namespace std;
// generate random numbers
class randomNumber { public: // initialize the random number generator randomNumber(long s = 0); // return a 32-bit random integer m, 1 <= m <= 2^31-2
long random(); // return a 32-bit random integer m, 0 <= m <= n-1,
// where n <= 2^31-1 long random(long n); // return a real number x, 0 <= x < 1
double frandom(); private:
static const long A; static const long M; static const long Q; static const long R; long seed;
}; const long randomNumber::A = 48271;
const long randomNumber::M = 2147483647; const long randomNumber::Q = M / A; const long randomNumber::R = M % A; randomNumber::randomNumber(long s)
{ if (s < 0) s = 0; if (s == 0)
{ // get time of day in seconds since 12:00 AM, // January 1, 1970 long t_time = time(NULL); // mix-up bits by squaring
t_time *= t_time; // result can overflow. handle cases // > 0, < 0, = 0 if (t_time > 0) s = t_time ^ 0x5EECE66DL; else if (t_time < 0) s = (t_time & 0x7fffffff) ^ 0x5EECE66DL; else s = 0x5EECE66DL; } seed = s;
} long randomNumber::random()
{ long tmpSeed = A * ( seed % Q ) - R * ( seed / Q ); if( tmpSeed >= 0 )
seed = tmpSeed; else seed = tmpSeed + M; return seed;
} long randomNumber::random(long n)
{ double fraction = double(random())/double(M); return int(fraction * n);
} double randomNumber::frandom()
{ return double(random())/double(M); } 构造函数:randomNumber(long s=0)
设定随机数发生的种子.使用默认值0时,系统时间为初始化种子;否则,用户提供发生器的种子.
double frandom(): 返回实数x, 0.0<=x<1.0
long random():返回long型随机整数m, 0<=m<exp(2,31)-1;
long random(long n):返回随机整数m, 0<=m<n;
应用程序:掷骰子游戏 先掷两个骰子,根据总点数确定赢家?
通过声明一个随机数对象die进行掷骰子游戏的模拟,这个随机数使用自动种子,表达式:
(1+die.random(6)) + (1+die.random(6)). 注意,这里最好使用一个随机数来获取两次随机值.若用两个随机数对象来分别获取,则获取的两个随机数可能一样.因为默认初始化都使用系统时间,由于速度原因,可能将同样的时间设定为随机种子.
6月1日 无聊的言语! 时间一天天流逝,离工作日期越来越短,我已经习惯了呆在此处,过着这般悠闲生活.工作恐惧症和分离忧郁症困扰着我,不想离开,却由不得我.
日子过得无聊和空虚,可却让我如此留恋,难以离舍! |
|
|