Есть ли способ ограничить печать только истинными сравнениями? - PullRequest
0 голосов
/ 09 февраля 2019

Я работаю над этим кодом, чтобы вычислить маленькую теорему Ферма, и она работает как надо.Единственная проблема, которая у меня есть, это то, что я надеюсь, что она будет более эффективной.Есть ли способ ограничить печать только истинными сравнениями?

for i in range (1,351):
    print i, [(2 << i - 2) % i == 1]

1 Ответ

0 голосов
/ 09 февраля 2019

Этот код даже не работает для меня, он выдает ошибку: ValueError: negative shift count.Но, учитывая, что это как-то работает для вас, вы можете использовать условие if для печати только при true:

for i in range (2,351):  # changing 1 to 2 fixed the error for me.
    if (2 << i-2) % i == 1:  # this will check if it's true, then only print
        print i, [(2 << i - 2) % i == 1]
...