Используя только операции сложения и вычитания, найдите частное от деления нацело N на K, а также остаток - Pascal
Формулировка задачи:
Даны целые положительные числа N и K. Используя только операции сложения и вычитания, найдите частное от деления нацело N на K, а также остаток от этого деления.
Помогите, пожалуйста, решить, подскажите алгоритм.
Решение задачи: «Используя только операции сложения и вычитания, найдите частное от деления нацело N на K, а также остаток»
textual
Листинг программы
Function divNK(n,k : Longint) : Longint; Begin If n>=k then divNK:=1+divNK(n-k,k) else divNK:=0; end; Function modNK(n,k : Longint) : Longint; Begin While n>=k do Dec(n,k); modNK:=n; end; Begin Writeln(divNK(17,5)); Writeln(modNK(17,5)); end.
Объяснение кода листинга программы
- Создается функция divNK, которая принимает два аргумента n и k типа Longint.
- Внутри функции проверяется условие: если n больше или равно k, то возвращается значение 1 плюс результат вызова функции divNK(n-k,k). В противном случае, функция divNK возвращает 0.
- Создается функция modNK, которая также принимает два аргумента n и k типа Longint.
- Внутри функции modNK используется цикл while, который выполняется до тех пор, пока n больше или равно k.
- На каждой итерации цикла значение n уменьшается на k (операция Dec(n,k)).
- После завершения цикла, значение n сохраняется в переменной modNK.
- Выводится результат работы функции divNK(17,5) с помощью команды Writeln.
- Выводится результат работы функции modNK(17,5) с помощью команды Writeln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д