UVA11687 Digits [simulation]

A googol written out in decimal has 101 digits. A googolplex has one plus a googol digits. That’s a lot of digits!
    Given any number x0, define a sequence using the following recurrence:
xi+1 = the number of digits in the decimal representation of xi
    Your task is to determine the smallest positive i such that xi = xi−1.
Here Insert Picture Description
Input
Input consists of several lines. Each line contains a value of x0. Every value of x0 is non-negative and has no more than one million digits. The last line of input contains the word ‘END’.
Output
For each value of x0 given in the input, output one line containing the smallest positive i such that xi = xi−1.
Sample Input
42
END
Sample Output
3

Problem link : UVA11687 Digits
problems outlined :( slightly)
Analysis :
    Simple simulation questions, do not explain.
Program description :( omitted)
reference links :( slightly)
Inscription :( omitted)

AC C ++ language program is as follows:

/* UVA11687 Digits */

#include <iostream>

using namespace std;

int main()
{
    string s;
    while(cin >> s && s != "END") {
        if(s == "0") cout << "2" << endl;
        else if(s == "1") cout << "1" << endl;
        else {
            int len = s.size();
            s = to_string(len);
            int cnt = 2;
            while(len != 1) {
                len = s.size();
                s = to_string(len);
                cnt++;
            }
            cout << cnt << endl;
        }
    }

    return 0;
}
Released 2126 original articles · won praise 2306 · Views 2.54 million +

Guess you like

Origin blog.csdn.net/tigerisland45/article/details/104529529