language: C++ 4.7.2 (gcc-4.7.2)
date: 902 days 23 hours ago
link:
visibility: private
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <climits>
#include <string>
#include <algorithm>
 
std::string s;
std::string& itostr(int n)
{
    if(n==0)
    {
        s="0";
        return s;
    }
    s.resize(16);
    char* c = &s[0];
    *(long long*) c = 0;
    *(long long*) (c+8) = 0;
 
    long long val = n;
    if(val<0)
    {
        *c++='-';
        val=-val;
    }
    int size;
    if(val>=10000)
    {
        if(val>=10000000)
        {
            if(val>=1000000000)
                size=10;
            else if(val>=100000000)
                size=9;
            else 
                size=8;
        }
        else
        {
            if(val>=1000000)
                size=7;
            else if(val>=100000)
                size=6;
            else
                size=5;
        }
    }
    else 
    {
        if(val>=100)
        {
            if(val>=1000)
                size=4;
            else
                size=3;
        }
        else
        {
            if(val>=10)
                size=2;
            else
                size=1;
        }
    }
    char* d = c+size-1;
    while(val>0)
    {
        *d--='0' + (val % 10);
        val /= 10;
    }
    return s;
}
 
#include <iostream>
int main(void)
{
    int i = 0;
    i += itostr(INT_MIN).size();
    i += itostr(INT_MAX).size();
 
    i += itostr(unsigned(INT_MAX) + 1U).size();
    i += itostr(unsigned(~0)).size(); 
 
        char c = CHAR_MIN;
        do {
                i += itostr(c).size();
                i += itostr((11111111 * c)).size();
 
                if (c >= CHAR_MAX) break;
 
                c++;
        } while (1);
 
    while (i < 100000000)
        i += itostr(i).size();
 
    std::cout << i << std::endl;
 
    return i;
}