Написать 3 программы нахождения частного q и остатка r от деления чисел x на y без использования операции деления /, mod, div.

wfew wfew    2   22.04.2020 18:05    9

Ответы
INKOGNIT009 INKOGNIT009  14.01.2024 10:01
Хорошо, давайте напишем три программы нахождения частного q и остатка r от деления чисел x на y без использования операции деления (/), mod или div.

Программа 1: Используем только операцию вычитания (-)
```
x = 23
y = 6

q = 0 # Инициализируем частное нулем

while x >= y:
x = x - y
q = q + 1

r = x

print("Частное:", q)
print("Остаток:", r)
```

Объяснение решения: В первой программе мы используем операцию вычитания для нахождения частного и остатка. Мы начинаем с исходного числа x и каждый раз вычитаем y из x, пока x не станет меньше y. При каждом вычитании мы увеличиваем частное на 1. Затем остаток будет равен тому значению x, которое осталось.

Программа 2: Используем операцию целочисленного деления (//) и операцию умножения (*)
```
x = 23
y = 6

q = 0 # Инициализируем частное нулем

while x >= y:
x = x - y
q = q + 1

r = x + ((q-1) * y)

print("Частное:", q)
print("Остаток:", r)
```

Объяснение решения: Во второй программе мы также используем операцию вычитания для нахождения частного, а затем используем операцию умножения, чтобы найти остаток. Мы находим остаток таким образом, чтобы его сумма с частным умноженным на делитель равнялась исходному числу.

Программа 3: Используем только операцию вычитания (-) и операцию сложения (+)
```
x = 23
y = 6

q = 0 # Инициализируем частное нулем

while x >= y:
x = x - y
q = q + 1

r = 0
for i in range(y):
if x >= 0:
x = x - 1
r = r + 1

print("Частное:", q)
print("Остаток:", r)
```

Объяснение решения: В третьей программе мы снова используем операцию вычитания для нахождения частного, а затем, используя операцию сложения, увеличиваем остаток на 1, пока x больше или равно нулю. Для этого мы проходим по диапазону числа y и каждый раз уменьшаем x на единицу и увеличиваем остаток на единицу.

Таким образом, мы предложили три программы, которые находят частное q и остаток r от деления чисел x на y без использования операций деления (/), mod или div.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика