На предыдущих уроках мы изучили циклы for и while, операторы break и continue, вложенные циклы. Теперь пора закрепить знания на практике.
В этом уроке мы решим разнообразные задачи на циклы.
for и while.break и continue.Вычисли факториал числа n. Факториал n! = 1 × 2 × 3 × ... × n.
n = 5
factorial = 1
for i in range(1, n + 1):
factorial *= i
print(factorial) # 120Выведи первые n чисел Фибоначчи. Каждое число — сумма двух предыдущих: 1, 1, 2, 3, 5, 8, 13, ...
n = 10
a, b = 1, 1
for i in range(n):
print(a, end=" ")
a, b = b, a + b
# Вывод: 1 1 2 3 5 8 13 21 34 55Дано число. Выведи его цифры в обратном порядке.
n = 12345
reversed_num = 0
while n > 0:
digit = n % 10
reversed_num = reversed_num * 10 + digit
n //= 10
print(reversed_num) # 54321Проверь, является ли число простым.
n = 17
is_prime = True
if n < 2:
is_prime = False
else:
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
is_prime = False
break
print(Найди НОД двух чисел методом Евклида.
a = 48
b = 18
while b != 0:
a, b = b, a % b
print(f"НОД: {a}") # 6Проверь, является ли число степенью двойки.
n = 64
is_power = n > 0
temp = n
while temp > 1 and is_power:
if temp % 2 != 0:
is_power = False
temp //= 2
print("Да" if is_power else "Нет") # ДаНайди сумму всех делителей числа.
n = 12
total = 0
for i in range(1, n + 1):
if n % i == 0:
total += i
print(total) # 28 (1+2+3+4+6+12)Проверь, является ли число палиндромом (читается одинаково слева направо и справа налево).
n = 12321
original = n
reversed_num = 0
while n > 0:
digit = n % 10
reversed_num = reversed_num * 10 + digit
n //= 10
print("Палиндром" if original == reversed_num else "Не палиндром")На этом уроке мы закрепили знания о циклах, решив задачи на факториал, числа Фибоначчи, работу с цифрами числа, проверку на простоту и другие алгоритмы.
Найди сумму всех чётных чисел от 1 до n.
Подсчитай количество цифр в числе без использования строк.
Найди максимальную цифру в числе.
Выведи все делители числа n в одну строку через пробел.
Проверь, является ли число совершенным. Совершенное число равно сумме своих делителей (кроме себя). Например, 6 = 1 + 2 + 3.
Считай число n. Выведи все простые числа от 2 до n включительно через пробел.
Считай целое положительное число. Проверь, читается ли оно одинаково слева направо и справа налево (например, 121, 12321). Выведи "да" или "нет". Реши без преобразования в строку.