1. Python / Говнокод #28910

    0

    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
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    '''
    1. Прибавить 1
    2. Прибавить 3
    3. Прибавить 7
    
    Программа для исполнителя – это последовательность команд. Сколько существует программ, для которых при исходном числе 13 результатом является число 31?
    Все пары чисел траектории вычислений должны быть взаимно простыми (под парой подразумевается два подряд идущих числа).
    Например, из числа 24 командой 2 (+3) нельзя перейти в число 27, потому как оба эти числа делятся на 3.
    А из числа 25 можно перейти в 28., т.к. для этих чисел нет общих простых делителей, т.е. числа взаимно простые.
    '''
    
    
    def f(x, y):
        if x == 13:
            return f(x + 1, y) + f(x + 3, y) + f(x + 7, y)
        a = set()
        b = set()
        c = set()
        d = set()
        ### ВОТ ЭТА ЗАЛУПА ЗАМЕНЯЕТСЯ 1 СТРОЧКОЙ
        if x >= y:
            return x == y
        for i in range(1, x+1):
            if x % i == 0:
                a.add(i)
        for p in range(1, x+1 + 1):
            if (x+1) % p == 0:
                b.add(p)
        for o in range(1, x+1 + 3):
            if (x+3) % o == 0:
                c.add(o)
        for r in range(1, x+1 + 7):
            if (x+7) % r == 0:
                d.add(r)
    
        if len(a & b) == 1 and (list(a & b))[0] == 1:
            if len(a & c) == 1 and (list(a & c))[0] == 1:
                if len(a & d) == 1 and (list(a & d))[0] == 1:
                    return f(x + 1, y) + f(x + 3, y) + f(x + 7, y)
    
        if len(a & b) == 1 and (list(a & b))[0] == 1:
            if not(len(a & c) == 1 and (list(a & c))[0] == 1):
                if len(a & d) == 1 and (list(a & d))[0] == 1:
                    return f(x + 1, y) + f(x + 7, y)
    
        if len(a & b) == 1 and (list(a & b))[0] == 1:
            if len(a & c) == 1 and (list(a & c))[0] == 1:
                if not(len(a & d) == 1 and (list(a & d))[0] == 1):
                    return f(x + 1, y) + f(x + 3, y)
    
        if not(len(a & b) == 1 and (list(a & b))[0] == 1):
            if len(a & c) == 1 and (list(a & c))[0] == 1:
                if len(a & d) == 1 and (list(a & d))[0] == 1:
                    return f(x + 3, y) + f(x + 7, y)
    
        if not(len(a & b) == 1 and (list(a & b))[0] == 1):
            if not(len(a & c) == 1 and (list(a & c))[0] == 1):
                if len(a & d) == 1 and (list(a & d))[0] == 1:
                    return f(x + 7, y)
    
        if not(len(a & b) == 1 and (list(a & b))[0] == 1):
            if len(a & c) == 1 and (list(a & c))[0] == 1:
                if not(len(a & d) == 1 and (list(a & d))[0] == 1):
                    return f(x + 3, y)
    
        if len(a & b) == 1 and (list(a & b))[0] == 1:
            if not(len(a & c) == 1 and (list(a & c))[0] == 1):
                if not(len(a & d) == 1 and (list(a & d))[0] == 1):
                    return f(x + 1, y)
    
        if not(len(a & b) == 1 and (list(a & b))[0] == 1):
            if not(len(a & c) == 1 and (list(a & c))[0] == 1):
                if not(len(a & d) == 1 and (list(a & d))[0] == 1):
                    return x
        return 0
    print(f(13, 31))

    Я сын тайской шлюхи

    Запостил: Admiral_Prostatov, 01 Февраля 2024

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

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

    Ошибка компиляции комментария:
    1. Гости могут высказаться только в понедельник, среду, четверг или воскресение
    ava Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код