@HrustHr

Как модифицировать код, что бы перебирал все варианты?

Я сделал код которые перебирает варианты что бы делением и вычитанием получить в результате 0 или другое небольшое значение. Мой код использует строку, что новое делимое , был результатом прошлого деления без остатка:

input = result

Как изменить код, что бы он сгенерировал все варианты и произвел вычисление, и не использовал эту, - input = result,строку что бы определить что делимое меньше делимого, а перебрал все варианты и получил тот же результат ?

Упрощённый алгоритм работы. Есть Start = 16, скрипт делит:

16/4=8
8/3 =2,..... Отбрасывается ледующим участком кодаif result <=input and result <=555550:
....
input = result
тк при делении по модулю частное будет больше делимого !
8/ 2 = 4

4/2 = 2
....

Прошу помочь,
Большое спасибо.

from random import randint

def inv(v): 
    return pow(v, N-2, N)


def divnum(a, b): 
    return (a * inv(b)) % N


if __name__ == '__main__':
    N = 115792089237316195423570985008687907852837564279074904382605163141518161494337
    i = 0
    StarT = 13000
    my_input = 13000
    delta = 4
    gamma = 2
    z = 1
    d1 = 80
    pp = 0
    
    while i <= 3:
       z = 1
       i = i + 1
       while z <= 6:
         pp = pp + 1
         d = divnum(my_input - z, delta) % N
         s = divnum(i, gamma) % N
         result = divnum(d, s) % N  
         z = z + 1
         if result <= my_input and result <=555550:
            print(f'StartT {StarT}\nresult {result} i {i} input {my_input} z {z}')
            my_input = result
    pp = pp + 1
    print(f'pp {pp} i {i}')
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы