Розв'язати задачі
Здати посилання на задачі
1.Дано ціле число N (N > 0). Знайти добуток N! = 1·2·. . . N (N-факторіал).
2. Знайти всі дільники натурального числа k. Число 1 і саме число k не включати до переліку дільників.
3. Одноклітинна амеба ділиться навпіл кожні 3 години. Визначити скільки буде амеб через 3,6,9,12, ... , 24 години
Ответы
1 Задача знайти добуток N! може бути вирішена за допомогою циклу, обчислюючи послідовно добуток чисел від 1 до N
def factorial(N):
if N < 0:
return None
result = 1
for i in range(1, N+1):
result *= i
return result
N = 5
print(factorial(N))
2 Задача знайти всі дільники натурального числа k може бути вирішена шляхом перебору всіх чисел від 2 до кореня квадратного з k. Якщо число ділиться націло, то додаємо його в список дільників. Після завершення перебору, ми отримаємо всі дільники числа k, крім 1 та самого k.
def find_divisors(k):
if k < 1:
return None
divisors = []
for i in range(2, int(k**0.5) + 1):
if k % i == 0:
divisors.append(i)
if i != k // i:
divisors.append(k // i)
return divisors
k = 24
print(find_divisors(k))
3 Задача про амебу може бути вирішена за допомогою простої ітерації, оскільки кількість амеб подвоюється кожні 3 години. Починаючи з однієї амеби, ми будемо подвоювати її кількість кожні 3 години
def amoeba_count(hours):
if hours < 0:
return None
amoebas = 1
for i in range(3, hours+1, 3):
amoebas *= 2
return amoebas
hours = 24
print(amoeba_count(hours))