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

Решение на Python 3

import random

A = random.randrange(50,100)
B = random.randrange(1,A)
print('A = ', A)
print('B = ', B)

r = A - B
n = 1
while r >= B:
r -= B
n += 1
print("Количество размещений B в A: ", n)
print("Остаток: ", r)

Решение на C++

#include <bits/stdc++.h>
using namespace std;

int main() {
srand((int)time(0));
int B = rand() % 5 + 1;
int A = B + rand() % 20 + 1;
cout << "A = " << A << endl;
cout << "B = " << B << endl;

int r = A - B;
int n = 1;
while(r >= B) {
r -= B;
n += 1;
}
cout << "Number of B in A: " << n << endl;
cout << "Remainder: " << r << endl;

return 0;
}