Evenly divide in c#
c#
Solution
To get my suggested result of 15, 15, 14, 14, 14, 14, 14:
// This doesn't try to cope with negative numbers :)
public static IEnumerable<int> DivideEvenly(int numerator, int denominator)
{
int rem;
int div = Math.DivRem(numerator, denominator, out rem);
for (int i=0; i < denominator; i++)
{
yield return i < rem ? div+1 : div;
}
}
Test:
foreach (int i in DivideEvenly(100, 7))
{
Console.WriteLine(i);
}
Problem
In c# how do I evenly divide 100 into 7? So the result would be - 16 - 14 - 14 - 14 - 14 - 14 - 14 The code below is incorrect as all 7 values are set to 15 (totalling 105). ``` double [] vals = new double[7]; for (int i = 0; i < vals.Length; i++) { vals[i] = Math.Ceiling(100d / vals.Length); } ``` Is there an easy way to do this in c#? Thanks