Показать сообщение отдельно

  #2  
Старый 20.03.2010, 20:07
total90
Участник форума
Регистрация: 30.09.2009
Сообщений: 148
Провел на форуме:
11581319

Репутация: 241
Отправить сообщение для total90 с помощью ICQ
По умолчанию

Задача Multik

Заяц из известного мультфильма убегает от Волка по лестнице длиной N ступенек. Для того, чтобы убежать, Зайцу нужно спрятаться за дверью, которые находятся на последней ступеньке. Волк не может схватить зайца, если они одновременно не находятся на 1 ступеньке, или если Волк не опережает Зайца. Заяц за 1 шаг может подняться на 1 ступеньку, а Волк - на 2. В начале бега Волк находится на 0-й строчке, а Заяц на К-й (К> 0) ступеньке. Сможет Волк поймать Зайца? Если Волк и Заяц последним шагом становятся одновременно на последнюю ступеньку, то Волк схватит Зайца. Волк и Заяц предпринимают шаги одновременно (синхронно).

Технические условия: Программа Мultik читает с клавиатуры числа N и K через пробел. Программа выводит на экран 1, если Волк полакомился Зайцем или 0, если остался голодным. Все расчеты не выходят за пределы типа иnteger Turbo Pascal

Примеры

Введение: 10 7

Вывод: 0

Введение: 10 5

Вывод: 1



Код:
program Multik; 
var N,K,zaec,volk,d,i:integer; 
label 1; 
BEGIN 
read(N,K); 
d:=0; 
zaec:=0; 
volk:=0; 
repeat 
zaec:=k; 
k:=k+1; 
volk:=volk+2; 
d:=d+1; 
if zaec=volk then 
begin 
   i:=1; 
   d:=n; 
   goto 1; 
end 
else 
begin 
   i:=0; 
   d:=n; 
   goto 1; 
end; 
if volk > zaec then 
begin 
   i:=0; 
   d:=n; 
   goto 1; 
end; 
until d=n; 
if d=n then 
i:=0; 
1:write(i); 
END.
что неправильно?
goto дописал из незнания что делать, если можно то без goto код.
 
Ответить с цитированием