Evenly divide in c#

前端 未结 6 1733
梦谈多话
梦谈多话 2020-12-10 18:23

In c# how do I evenly divide 100 into 7?

So the result would be

  1. 16
  2. 14
  3. 14
  4. 14
  5. 14
  6. 14
  7. 14
6条回答
  •  天命终不由人
    2020-12-10 18:44

    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 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);
    }
    

提交回复
热议问题