Ввести (с клавиатуры) непустую последовательность натуральных чисел
// (признак конца последовательности – 0). Вывести максимальное число
// этой последовательности и количество его вхождений. Требование:
// запрещено пользоваться операторами цикла, перехода, массивами, файлами
// (т.е. решать задачу надо рекурсивно).
Язык - pascal
BobbyFresnel:
Всегда удивляли подобные задачи. "Съешьте тарелку борща, не пользуясь столовыми приборами и не отрывая тарелки от стола". Оно, конечно, съесть можно, макнувшись мордашкой в миску, но какой в этом смысл?
эта задача на тему множества/рекурсия, поэтому эти ограничения нужны чтобы решающий не отходил от темы
Можно подумать, на рекурсию нет нормальных задач!
эта задача позиционируется преподавателем как сложная, и сложность ее как раз в этих ограничениях, тк без них ее довольно просто решить циклом
Можно я не буду писать, что думаю о вашем преподавателе?
Если коротко - гнать его надо.
Ответы
Ответ дал:
0
procedure Fool(var k, max: integer);
begin
var n := ReadInteger;
if n = 0 then exit;
k += n;
if n > max then
max := n;
Fool(k, max)
end;
begin
var (n, nm) := (0, 0);
Fool(n, nm);
Print(n, nm)
end.
Приложения:
Вас заинтересует
2 года назад
2 года назад
2 года назад
8 лет назад
8 лет назад
9 лет назад
9 лет назад