While 30. Даны положительные числа A, B, C. На прямоугольнике размера \(A \times B\) размещено максимально возможное количество квадратов со стороной C (без наложений). Найти количество квадратов, размещенных на прямоугольнике. Операции умножения и деления не использовать.

Решение на Python 3

import random

A,B = [random.randrange(1, 21) for i in range(0, 2)]
C = random.randint(1,min(A,B))
print("A = {0}, B = {1}, C = {2}".format(A,B,C))

a = int(A/C)
b = int(B/C)

print("Площадь прямоугольника:",A*B)
print("Площадь квадрата:",C*C)
print("Количество квадратов на прямоугольнике:",a*b)
print("Площадь незанятой части прямоугольника:",A*B - a*b*C*C)

A1 = A
n_A = 0
while A1 >= C:
A1 -= C
n_A += 1

B1 = B
n_B = 0
while B1 >= C:
B1 -= C
n_B += 1

k = 0
i = 0
while i < n_A:
i += 1
j = 0
while j < n_B:
j += 1
k += 1

print(n_A,":",n_B)
print("Количество квадратов на прямоугольнике:",k)