using System.Collections.Generic;
using System.Linq.Expressions;
using Type = System.Type;
public static void Main()
var list = new List<double>() { 13.62633, 47.989636, 9.596008, 28.788024 };
var tidy = GetRounding(list);
Console.WriteLine(string.Join(", ", tidy));
Console.WriteLine(tidy.Sum());
public static List<int> GetRounding(List<double> numbers)
numbers = numbers.OrderByDescending(x => x).ToList();
var rounded = new List<int>();
var decimals = new Dictionary<int, double>();
numbers.ForEach(number => rounded.Add((int)Math.Floor(number)));
var remainder = 100 - rounded.Sum();
for (var i = 0; i < remainder; i++)
if (i > rounded.Count - 1)
throw new IndexOutOfRangeException("Numbers total are not in range 99-100");