Автор: Lizard 6.04.2004 16:51
ответ 18, но у меня как не знающего паскаль 15
объясните почему
Эскизы прикрепленных изображений
Автор: Altair 6.04.2004 17:30
Итак, запустите эту прогу: (это то же самое только для лентяев, которые не могут запустить трасировщик)
Код
uses crt;
function F(X:integer):integer;
begin
Writeln('X====',x);
If X=1 then
begin
writeln('x=1 ->> f:=0 ');
f:=0
end else
if odd(x) then
begin
writeln('Ґ зҐв®Ґ -->> f:=f(3*x+1)+1');
f:=f(3*x+1)+1
end else
begin
writeln('зҐв®Ґ f:=f(x div 2)+2');
f:=F(X div 2)+2
end;
end;
begin
clrscr;
writeln(F(26));
end.
тогда узнаете почему 18!
18 потому что в результате выполнения получаем 0 а потом складываем!
А если вы занимались когда нибудь ПРОЛОГОМ, то вот дерево вывода(присоед.)
-------------
Вам повезло, что я первый увидел вашу тему, AlaRic закрыл бы сразу, и правильно сделал бы, ПРАВИЛА РАЗДЕЛА для кого???????
-------------
В следующий раз тоже сразу закрою, без ответа!
Эскизы прикрепленных изображений