static Random rand = new Random(); public static IEnumerable<int> Split(Int32 val, int parts) { int left = val; for (int i = 0; i < parts - 1; i++) { var curr = rand.Next(1, left / parts); yield return curr; left -= curr; } yield return left; } static void Main(string[] args) { Int32 val = 15500; var res = Split(val, 24); int sum = 0; foreach (var item in res) { Console.WriteLine(item); sum += item; } var match = (sum == val); }
Open in new window