UVa : 11687 (Digits)


// http://uva.onlinejudge.org/external/116/11687.html

// @BEGIN_OF_SOURCE_CODE

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <cctype>
#include <stack>
#include <queue>
#include <list>
#include <vector>
#include <map>
#include <sstream>
#include <cmath>
#include <bitset>
#include <utility>
#include <set>
#define pi acos(-1.0)
#define N 1000000
using namespace std;

char input [1000000 + 10];
int cnt;

int recursive (int x0)
{
    sprintf (input, "%d", x0);
    int x1 = strlen (input);
    cnt++;
    if ( x1 == x0 ) return cnt;
    recursive( x1 );
}

int main ()
{
    while ( gets (input) && strcmp (input, "END") ) {
        if ( strcmp (input, "1") == 0 ) {
            printf ("1\n");
            continue;
        }
        cnt = 1;
        printf ("%d\n", recursive (strlen (input)));
    }

    return 0;
}

// @END_OF_SOURCE_CODE
Advertisements

One thought on “UVa : 11687 (Digits)

  1. Since x0 and x1 are both local to the recursive() function, shouldn’t the last line of that function have to be “return(recursive(x1));” rather than simply “recursive(x1);” ?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s