codeforces-102B Sum of Digits(水题)

链接:http://codeforces.com/problemset/problem/102/B
题意:给定一个数字,每次能把它变为它的各个位的数字之和,求几次变化后,能变成个位数
#include<iostream>
#include<cstring>
#include<map>
#include<cstdio>
#include<stdlib.h>
#include<algorithm>
using namespace std;

char s[100010];

int main(){
    cin>>s;
    int res = 0;

    while(1){
        int len = strlen(s);
        if(len == 1) break;
        int sum = 0;
        for(int i = 0; i<len; i++){
            sum+=s[i]-'0';
        }
        itoa(sum, s, 10);
        res++;
    }
    cout<<res<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/grimcake/article/details/79966541