C++競プロ学習日記(仮)

( 学習記録であり解説Blogではないです )

C++ で 桁和

#include <bits/stdc++.h>
using namespace std;
int digit( int N )
{
    while( N >= 10 )
    {
        int tmp{};
        while( N > 0 )
        {
            tmp += ( N % 10 );
            N /= 10;
        }
        N = tmp;
    }
    return N;
}
int main()
{
    int N{};
    cin >> N;
    cout << digit( N ) << endl;
    return 0;
}

とある問題で桁和を使うのかと思って書いたのですが、
結果的に桁和不要だったので、桁和コードだけ個別に残します...。

例えば、N799 の場合、 7 + 9 + 9 = 25 ➡︎ 2 + 5 = 7
1桁になるまで足していくコードです。
(もしかしたら、もっと簡潔な書き方があるかも知れないです...)

実行結果:[Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ

広告を非表示にする