Я сделал код которые перебирает варианты что бы делением и вычитанием получить в результате 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}')