Sum of digits in C#

前端 未结 18 2085
耶瑟儿~
耶瑟儿~ 2020-11-28 07:21

What\'s the fastest and easiest to read implementation of calculating the sum of digits?

I.e. Given the number: 17463 = 1 + 7 + 4 + 6 + 3 = 21

18条回答
  •  甜味超标
    2020-11-28 07:35

    public static int SumDigits1(int n)
    {
        int sum = 0;
        int rem;
        while (n != 0)
        {           
            n = Math.DivRem(n, 10, out rem);
            sum += rem;
        }
        return sum;
    }
    
    public static int SumDigits2(int n)
    {
        int sum = 0;
        int rem;
        for (sum = 0; n != 0; sum += rem)   
            n = Math.DivRem(n, 10, out rem);        
        return sum;
    }   
    
    public static int SumDigits3(int n)
    {
        int sum = 0;    
        while (n != 0)
        {
            sum += n % 10;
            n /= 10;
        }   
        return sum;
    }   
    

    Complete code in: https://dotnetfiddle.net/lwKHyA

提交回复
热议问题