div raja Ответов: 2

Программа для нахождения суммы цифр заданного числа до тех пор, пока сумма не станет одной цифрой. (например, 12345=>1+2+3+4+5=15=>1+5=6) .


Программа для нахождения суммы цифр заданного числа до тех пор, пока сумма не станет одной цифрой. (например, 12345=>1+2+3+4+5=15=>1+5=6) .

Philippe Mori

Вероятно, это не то, что хочет ваш учитель, но, безусловно, более простой способ сделать это (предполагая, что число >= 0).

return a == 0 ? 0 : (a + 8) % 9 + 1;

2 Ответов

Рейтинг:
1

OriginalGriff

Это звучит как домашнее задание, так что никакого кода!
Но это действительно просто:
1) Создайте "итоговую" переменную и установите "рабочую" переменную на значение, которое вы хотите суммировать.
2) Создайте цикл и установите общую переменную в ноль
3) в цикле добавьте рабочую переменную по модулю 10 к общей сумме.
4) Разделите рабочую переменную на 10
5) Если рабочая переменная больше нуля, то вернитесь к циклу в точке (3)
6) Если общая переменная меньше десяти, у вас есть значение.
7) в противном случае установите рабочую переменную в общую переменную и вернитесь к циклу в точке (2)


0x01AA

В любом случае, 5 за вашу помощь.

OriginalGriff

Вы повторяете "лучшее из оригинального грифа"? :смеяться:

Рейтинг:
1

kulbhushan18

class Program
    {
        static void Main(string[] args)
        {
            string num = Console.ReadLine();
            int sum = DigitSum(Convert.ToInt32(num));
            Console.WriteLine("sum:{0}", sum);
            Console.Read();
        }
        static private int DigitSum(int num)
        {
            int sum = 0;
            while (num > 0)
            {
                sum += num % 10;
                num /= 10;
            }
            if (sum > 9)
            {
                sum = DigitSum(sum);
            }
            return sum;
        }
    }


Dave Kreskowiak

Не делайте за них домашнюю работу для людей! На самом деле вы им не помогаете, и есть очень хорошие шансы, что они провалят урок, если сдадут вашу работу, а не свою.

Andreas Gieriet

Ну же! Если он потерпит неудачу, то заслужит ее!
Он получил возможность учиться у шаблона - это до него, чтобы сделать лучшее из него. Нет причин голосовать против.
Овации
Энди
PS: этот пост был сделан два года назад! Какого черта он снова появляется так высоко?

Dave Kreskowiak

Вероятно, потому, что кто-то разместил на нем спам. Это воскресит его и поставит обратно в начало очереди, даже если спам был ими удален.