1. C# / Говнокод #11013

    +156

    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
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    private static BigInteger result = 0;
            static BigInteger F1 = 1;
            static BigInteger F2 = 1;
            static BigInteger provv;
            static BigInteger provv2;
    
            static void Main(string[] args)
            {
                for (BigInteger number = 3; result == 0; number++)
                {
                    provv2 = F2;
                    F2 = F2 + F1;
                    F1 = provv2; ;
                    if (HasProperty(F2.ToString()))
                        result = number;
                }
            }
    
            private static bool HasProperty(string number)
            {
                if (number.Length < 9)
                    return false;
                if (IsPandigital(number.Substring(0, 9)))
                    if (IsPandigital(number.Substring(number.Length - 9, 9)))
                        return true;
                return false;
            }
    
            private static bool IsPandigital(string result)
            {
                int repetitions;
                for (int count = 0; count < 9; count++)
                {
                    repetitions = 0;
                    for (int count2 = 0; count2 < 9; count2++)
                    {
                        if (result.ElementAt(count).ToString() == "0")
                            return false;
                        if (result.ElementAt(count).ToString() == result.ElementAt(count2).ToString())
                        {
                            repetitions++;
                            if (repetitions == 2)
                                return false;
                        }
                    }
                }
                return true;
            }

    http://projecteuler.net/problem=104
    http://projecteuler.net/thread=104;page=6



    >brute force approach,solved aproximately in 24 hours
    >solved aproximately in 24 hours
    >24 hours
    >24
    >hours


    Терпеливый, сука!

    Запостил: TheHamstertamer, 17 Июня 2012

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

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