1) 2212
2) 11221
3) 1122
4) 12111
5) 21212
6) 21211
Объяснение:
1)
Команда 1: Вычти 3
Команда 2: Умножь на 2
Нужно из 3 получить 18
1) 3 × 2 = 6 [Команда 2]
2) 6 × 2 = 12 [Команда 2]
3) 12 - 3 = 9 [Команда 1]
4) 9 × 2 = 18 [Команда 2]
2)
Команда 1: Вычти 1
Команда 2: Возведи в квадрат
Нужно из 5 получить 80
1) 5 - 1 = 4 [Команда 1]
2) 4 - 1 = 3 [Команда 1]
3) 3² = 9 [Команда 2]
4) 9² = 81 [Команда 2]
5) 81 - 1 = 80 [Команда 1]
3)
Команда 1: Умножь на 3
Команда 2: Вычти 2
Нужно из 3 получить 23
1) 3 × 3 = 9 [Команда 1]
2) 9 × 3 = 27 [Команда 1]
3) 27 - 2 = 25 [Команда 2]
4) 25 - 2 = 23 [Команда 2]
4)
Команда 1: Прибавь 3
Команда 2: Возведи в квадрат
Нужно из 4 получить 58
1) 4 + 3 = 7 [Команда 1]
2) 7² = 49 [Команда 2]
3) 49 + 3 = 52 [Команда 1]
4) 52 + 3 = 55 [Команда 1]
5) 55 + 3 = 58 [Команда 1]
5)
Команда 1: Вычти 1
Команда 2: Возведи в квадрат
Нужно из 2 получить 64
1) 2² = 4 [Команда 2]
2) 4 - 1 = 3 [Команда 1]
3) 3² = 9 [Команда 2]
4) 9 - 1 = 8 [Команда 1]
5) 8² = 64 [Команда 2]
6)
Команда 1: Раздели на 2
Команда 2: Вычти 1
Нужно из 27 получить 3
1) 27 - 1 = 26 [Команда 2]
2) 26 ÷ 2 = 13 [Команда 1]
3) 13 - 1 = 12 [Команда 2]
4) 12 ÷ 2 = 6 [Команда 1]
5) 6 ÷ 2 = 3 [Команда 1]
predicates
nondeterm решение(string)
nondeterm условие(integer,integer,integer,integer)
nondeterm имя(integer,integer,integer,integer,integer,string)
clauses
решение(Имя):-
имя(Таня,Лена,Аня,Катя,Марина,Имя),
условие(1,Таня,Лена,Аня),
условие(2,Лена,Аня,Катя),
условие(3,Аня,Катя,Марина),
условие(4,Катя,Таня,Марина).
условие(1,Таня,Лена,Аня):-
Таня=1,Лена+Аня>0;Таня=0.
условие(2,Лена,Аня,Катя):-
Лена=1,Аня=1,Катя=1;Лена=0.
условие(3,Аня,Катя,Марина):-
Аня+Катя>0,Марина=0;Аня+Катя=0.
условие(4,Катя,Таня,Марина):-
Катя=0,Таня=1,Марина=1;Катя=1.
имя(1,0,0,0,0,"Таня").
имя(0,1,0,0,0,"Лена").
имя(0,0,1,0,0,"Аня").
имя(0,0,0,1,0,"Катя").
имя(0,0,0,0,1,"Марина").
goal
решение(Имя).
Объяснение:
Имя=Катя
1 Solution
Поделитесь своими знаниями, ответьте на вопрос:
Какое число будет выведено на экран после выполнения этого фрагмента программы? write(4); for i: =3 downto 2 do write(2*i);
2) Сначала выводится число 4, а затем i меняется в цикле от 4 до 2 с шагом -1, поэтому будет выведено:
4 8 6 4