Поиск простых чисел с помощью LOOPS в python - PullRequest
0 голосов
/ 24 января 2020

Кто-нибудь может мне это объяснить? Я не уверен, что делает второй for l oop.

for x in range(2,10):
    for n in range(2,x):
        if x % n == 0:
            print(f"{x} = {n} * {x//n}")
            break
    else:
        print(f"{x} is a prime number.") 

Ответы [ 3 ]

0 голосов
/ 24 января 2020

Первый для l oop указывает, какие номера проверяются. Таким образом, вы проверяете, просты ли 2, 3, 4, 5, 6, 7, 8 и 9.

Секунда для l oop используется для установления sh, если число простое. Он делает это, проверяя, можно ли его разделить на любое число, меньшее, чем он сам, и больше, чем 1. Пример:

Мы хотим проверить, простое ли число 9. Итак, мы проверяем 2, 3, 4, 5, 6, 7 и 8. Мы находим, что 9%3==0, поэтому мы знаем, что 9 не простое число.

0 голосов
/ 24 января 2020

Первый l oop определяет числитель вашей дроби, второй l oop пробегает возможные знаменатели дроби. Если деление не может быть выполнено без остатка для всех возможных знаменателей, тогда оно напечатает формулу и сломает l oop.

0 голосов
/ 24 января 2020

Секунда для l oop в этом коде учитывается только до значения x, потому что ему больше никогда не понадобится go. Когда бы вы ни находили простые числа, вы можете использовать по модулю (%), потому что если x % n никогда не становится 0 (кроме случаев, когда n = x), это простое число, что показано в операторе else :.

Вы всегда получите остаток, если n> x

for x in range(2,10):
    for n in range(2,x): # Only needs to mod up to the current number
        if x % n == 0: # If it is possible to mod the number and not get a decimal
            print(f"{x} = {n} * {x//n}")
            break # stop running because this number isn't prime
    else:
        print(f"{x} is a prime number.")

Пример логики c:

3% 2 = 1: 3 простое число

4% 2 = 0: 4 не простое число

5% 2 = 1,5% 3 = 2,5% 4 = 1 : 5 простое

6% 2 = 0: 6 не простое

и т. Д.

Из-за способа написания кода, Ему не нужно go дальше, чем первый признак того, что он не прост.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...