Untitled

mail@pastecode.io avatar
unknown
python
2 years ago
1.2 kB
10
Indexable
Never
print("___ Практическая 37 ___\n")

#A
print("--- Задача A ---")
def divisors(n):
    return tuple(i for i in range(n-1, 0, -1) if n % i == 0)

n = int(input("Введите натуральное число: "))
print(f"Число {n} " + ("совершенное." if sum(divisors(n)) == n else "не совершенное."))

#B
print("\n--- Задача B ---")
n1, n2 = map(int, input("Введите два натуральных числа: ").split())
from math import gcd
print(f"Числа {n1} и {n2}"
      f"{'' if gcd(n1, n2) == 1 else ' не'}"
      " взаимно простые.")

#C
print("\n--- Задача C ---")
n = input("Введите натуральное число: ")
pa = lambda b: print(f"Число {n}{'' if b else ' не'} гиперпростое.")

print("\n\n___ Практическая 38 ___\n")

#A
print("\n--- Задача A ---")

def nod(n1, n2):
    while n1 != 0 and n2 != 0:
        if n1 > n2:
            n1 %= n2
        else:
            n2 %= n1
    return n1 + n2

n1, n2 = map(int, input("Введите два натуральных числа: ").split())
print(f"НОД({n1}, {n2}) = {nod(n1, n2)}")