随机数产生程序:
function random: real:
begin Seed: =125.0*(seed+1.0)
Seed: =Seed-8192.0*trunc (seed/8192)
random: = (Seed+0.5)/8192
end;
上述随机数发生函数产生的随机数为0.0~1.0,稍另变化就可得到0~n-1之间的随机数。
程序开始时,应对变量Seed (实型)赋初值。
trunc函数是在哪个库里面?还有在转化过程中不会发生数据丢失吗?
function random: real:
begin Seed: =125.0*(seed+1.0)
Seed: =Seed-8192.0*trunc (seed/8192)
random: = (Seed+0.5)/8192
end;
上述随机数发生函数产生的随机数为0.0~1.0,稍另变化就可得到0~n-1之间的随机数。
程序开始时,应对变量Seed (实型)赋初值。
trunc函数是在哪个库里面?还有在转化过程中不会发生数据丢失吗?
解决方案
20
Pascal
begin 约等于 C的{
end 约等于C的}
函数返回值类型定义在后面
real 换成 float 或 double
赋值:= 对应 =
想等比较 = 对应==
/对应 浮点除法
div 对应整除
=在定义类型,常量的时候相当于 typedef ,=,
trunc 是截断取整;正数的话, 对应 c 的floor
其他自行解决吧
begin 约等于 C的{
end 约等于C的}
函数返回值类型定义在后面
real 换成 float 或 double
赋值:= 对应 =
想等比较 = 对应==
/对应 浮点除法
div 对应整除
=在定义类型,常量的时候相当于 typedef ,=,
trunc 是截断取整;正数的话, 对应 c 的floor
其他自行解决吧
20
function random: real:
begin Seed: =125.0*(seed+1.0)
Seed: =Seed-8192.0*trunc (seed/8192)
random: = (Seed+0.5)/8192
end;
float random(int seed)
{
float Seed;
Seed = 125.0 * (seed + 1.0);
Seed -= 8192.0 * (int)(seed / 8192);
return (Seed + 0.5) / 8192;
}
begin Seed: =125.0*(seed+1.0)
Seed: =Seed-8192.0*trunc (seed/8192)
random: = (Seed+0.5)/8192
end;
float random(int seed)
{
float Seed;
Seed = 125.0 * (seed + 1.0);
Seed -= 8192.0 * (int)(seed / 8192);
return (Seed + 0.5) / 8192;
}