1. Си / Говнокод #10465

    +123

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    #include <stdio.h>
    int getLen(long long num)
    {
        int count=0;
        while (num > 0)
        {
            count++;
            num/=10;
        }
        return count;
    }
    
    int main(void)
    {
        int count = 0;
        for (long long i=1; i<=9; i++)
        {
            long long num = 1;
            int modify=0;
    
            for (int j=1; j<30; j++)
            {
                if (i==7 && j == 5)
                {
                    int a= 1;
                    a++;
                }
                num *= i;
                if (getLen(num) == j-modify)
                {
                    printf("%d^%d=%lld OK  %d\n", i, j, num, count+1);
                    count++;
                }
                if (num > 10000000)
                {
                    num/=10;
                    modify++;
                }
            }
        }
        printf("%d\n", count);
        return 0;
    }

    http://projecteuler.net/problem=63
    http://projecteuler.net/thread=63&page=8



    >I don't want to write again an big number rendering algorithm, so I played a little trick on it and hoped it won't cause any trouble..

    Запостил: TheHamstertamer, 30 Мая 2012

    Комментарии (11) RSS

    Добавить комментарий