Решение задачи Нумеролог с Acmp

Без пояснения   Просмотров: 24


Чтобы предсказать судьбу человека, нумеролог берет время жизни человека в секундах, затем складывает все цифры этого числа. Если полученное число состоит более чем из одной цифры, операция повторяется, пока в числе не останется одна цифра. Затем по полученной цифре и числу операций, необходимых для преобразования числа в цифру нумеролог предсказывает судьбу человека. Нумеролог плохо умеет считать, а числа, с которыми он работает, могут быть очень большими. Напишите программу, которая бы делала все расчеты за него.

Код

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    string str;
    cin >> str;
    int s = 0, k = 1, res = 10;
    if(str.size() == 1){
        cout << str[0] << " " << 0;
        return 0;
    }
    for(int i = 0; i < str.size(); ++i)
        s+=str[i] - 48;
 
    while(res > 9 && s > 9){
        k++;
        res = 0;
        while(s){
            res+=s % 10;
            s/=10;
        }
        s = res;
    }
    cout << s << " " << k;
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться