Proposed exercise
Create a class RandomNumber, with three static methods:
- GetFloat will return a number between 0 and 1 using the following algorithm:
seed = (seed * a + c) % m
result = abs(seed / m)
- GetInt(max) will return a number from 0 to max, using:
result = round(max * GetFloat)
- GetInt(min, max) will return a number from min to max (you must create this one totally on your own).
The starting values must be:
m = 233280;
a = 9301;
c = 49297;
seed = 1;
Output
Solution
using System; class RandomNumber { private static int m = 233280; private static int a = 9301; private static int c = 49297; private static int seed = 1; public static float GetFloat() { seed = (seed * a + c) % m; return Math.Abs(seed / m); } public static int GetInt(int max) { return 0; } public static int GetInt(int min, int max) { return 0; } }