Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Prolog > Вывод чисел от 1 до 15


Автор: luser78 25.1.2010, 20:19
Код

predicates
ps(integer)

goal
clearwindow,
ps(1).

clauses
ps(16).
ps(N):-write(N," "),
N1=N+1,ps(N1).


Как можно видоизменить программу, чтобы результат был тем же??? Предложите свои варанты.

Автор: Фантом 25.1.2010, 20:37
Цитата(luser78 @  25.1.2010,  20:19 Найти цитируемый пост)

Как можно видоизменить программу, чтобы результат был тем же???

Ну, например, так:
Код

ps(0).
ps(N):-Nn=N-1,ps(Nn),write(N," ").


Вызывать в goal, соответственно, ps(15).

P.S. 
Патологические варианты, вроде
Код

goal
  write("1 2 3 4 5 6 7 8 9 10 11 12 13 14 15").

не подходят? Условию задачи это удовлетворяет. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)