C++ :: Aufgabe #340

1 Lösung Lösung öffentlich

Und noch mehr Quersummen

Anfänger - C++ von JKooP - 06.03.2021 um 18:04 Uhr
Von einer positiven Integer- Zahl soll solange die Quersumme gebildet werden
bis die Zahl einstellig geworden ist.
Die einstellige Zahl soll als Ergebnis ausgegeben werden.

Beispiel:
739 => 7 + 3 + 9 = 19
19 => 1 + 9 = 10
10 => 1 + 0 = 1

Viel Spaß

Lösungen:

vote_ok
von JKooP (18090 Punkte) - 14.04.2021 um 19:07 Uhr
C++ 17
Quellcode ausblenden C-Code
#include <iostream>

int add_digits(int);
int get_num_length(int);

int main()
{
    std::cout << add_digits(38) << std::endl;
}

int add_digits(int n)
{
    if (get_num_length(n) == 1) return n;
    auto r{ 0 };
    while (n > 0)
    {
        r += n % 10;
        n /= 10;
    }
    return add_digits(r);
}

int get_num_length(int n)
{
    auto c{ 0 };
    while (n > 0)
    {
        n /= 10;
        c++;
    }
    return c;
}