random.pp 493 B

12345678910111213141516171819202122232425262728
  1. program random;
  2. {$mode objfpc}
  3. uses SysUtils;
  4. const IM = 139968;
  5. IA = 3877;
  6. IC = 29573;
  7. var LAST, NUM, i: longint;
  8. value: double;
  9. function gen_random(const n: integer): double; inline;
  10. begin
  11. LAST := (LAST * IA + IC) mod IM;
  12. gen_random := n * LAST / IM;
  13. end;
  14. begin
  15. if ParamCount = 0 then NUM := 1
  16. else NUM := StrToInt(ParamStr(1));
  17. if NUM < 1 then NUM := 1;
  18. LAST := 42;
  19. for i:= 1 to NUM do
  20. value:=gen_random(100);
  21. WriteLn(value:10:9);
  22. end.