using System.Collections;
using System.Collections.Generic;
public static class Program
private static readonly Random Random = new Random();
public static void Main()
foreach (var rate in GenerateRates(10)) Console.WriteLine(rate);
public static float[] GenerateRates(int count)
var borders = Enumerable.Range(0, count - 1)
.Select(x => (float)Math.Pow(Random.NextDouble(), 2))
.Select(x => (int)Math.Floor(x * 100f))
var indices = Enumerable.Range(0, count).Shuffle().ToList();
var rates = new float[count];
rates[indices[0]] = borders[0] * 0.01f;
for (var i = 1; i < count; i++)
rates[indices[i]] = (borders[i] - borders[i - 1]) * 0.01f;
public static IEnumerable<T> Shuffle<T>(this IEnumerable<T> list)
return list.OrderBy(_ => Guid.NewGuid());