Используя только операции сложения и вычитания, найдите частное от деления нацело 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.

Объяснение кода листинга программы

  1. Создается функция divNK, которая принимает два аргумента n и k типа Longint.
  2. Внутри функции проверяется условие: если n больше или равно k, то возвращается значение 1 плюс результат вызова функции divNK(n-k,k). В противном случае, функция divNK возвращает 0.
  3. Создается функция modNK, которая также принимает два аргумента n и k типа Longint.
  4. Внутри функции modNK используется цикл while, который выполняется до тех пор, пока n больше или равно k.
  5. На каждой итерации цикла значение n уменьшается на k (операция Dec(n,k)).
  6. После завершения цикла, значение n сохраняется в переменной modNK.
  7. Выводится результат работы функции divNK(17,5) с помощью команды Writeln.
  8. Выводится результат работы функции modNK(17,5) с помощью команды Writeln.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы