Как исправить код в значениях, чтобы были случайные числа? - PullRequest
0 голосов
/ 20 октября 2019

Я не знаю в программировании, мне нужно исправить код, в значениях "M" и "L" мне нужно сделать случайные числа, состоящие из 128 битов, замененных?

def extended_gcd(aa, bb):
    lastremainder, remainder = abs(aa), abs(bb)
    x, lastx, y, lasty = 0, 1, 1, 0
    while remainder:
        lastremainder, (quotient, remainder) = remainder, divmod(lastremainder, remainder)
        x, lastx = lastx - quotient*x, x
        y, lasty = lasty - quotient*y, y
    return lastremainder, lastx * (-1 if aa < 0 else 1), lasty * (-1 if bb < 0 else 1)

def modinv(a, m):
    g, x, y = extended_gcd(a, m)
    if g != 1:
        raise ValueError
    return x % m

M = 0x5FFDF9E967A054B02E0C56CDCF816A98
L = 0x45C42EF3369B5F069C57B4FF54F307F1

with open("results.txt", 'w') as f:
    print(hex(M*L), file=f)

1 Ответ

0 голосов
/ 20 октября 2019

Если я правильно понимаю вопрос, все, что вам нужно сделать, это:

import random

with open("results.txt", "w") as f:
    for _ in range(num_of_rows):  # num_of_rows is the number of such results you want to store, replace it by the number
        M = random.randrange(16**32)
        L = random.randrange(16**32)
        print("0x{:066x}".format(M*L), file=f)
...