Тут ещё немного "магии" с рекурсией. Видишь ли, сколь большим бы число не было, оно в итоге будет сведено к трём и решено вторым методом, полученные результаты ты сложишь. Метод решения считается элегантным но если ты вложишь туда, банально, слишком большое число, то у тебя может переполниться стек.
И вот ещё, тут получается так что ты уменьшаешь аргументы функции двумя разными делением 'n' на и разницей 'n' числа с 2-кой. Просто сяд и попробуй нарисовать это, сразу всё поймешь.
Спасибо
Ответ дал: Гость
если есть д ш и в то это не куб а параллелипипед
var
a,b,c,r: real;
begin
readln(a,b,c,r);
if (2*r< a) and (2*r< b) and (2*r< c)
then writeln('поместится')
else writeln ('не поместится');
end.
для куба достаточно одного условия (2*r< a)
Ответ дал: Гость
var n, n1, n2, n3, k: integer;
begin readln(n); n1 : = 1; n2 : = 1; n3 : = 2; k : = 0; if (n=1) or (n=2) then k : = 1; while n3 < = n do begin if n3=n then k : = 1; n1 : = n2; n2 : = n3; n3 : = n1 + n2; end; if k = 1 then writeln(n, ' является числом фибоначчи') else writeln(n, ' не является числом фибоначчи'); end.
Популярные вопросы