Производим обратные действия: имея команды "разделить на 3", "разделить на 2" и "отнять 1", сделать из 84 львов 1.
Поскольку нам нужно минимальное количество действий, будем пробовать команды именно в том порядке, в котором они указаны выше, только сначала проверяем, можем ли мы получить число, делящееся на 3 без остатка, отняв только 1.
1) 84 делится на 3 без остатка, результат - 28.
2) Ближайший делитель 3 к 28 - это 27, получить его можем в одну команду "отнять 1".
Program pr1; Var Age:integer; Name:char; Begin Writeln('Enter your name'); Readln(name); Writeln('Enter your age'); Readln(age); If ((age>=1)and(age<=10)) then Writeln(name,', ',age,' years old, kid) Else If ((age>=11)and(age<=15)) then Writeln(name,', ',age,' years old, teenager) Else If ((age>=16)and(age<=20)) then Writeln(name,', ',age,' years old, man/girl) Else If ((age>=21)and(age<=30)) then Writeln(name,', ',age,' years old, young human) Else If ((age>=31) then Writeln(name,', ',age,' years old, adult) Else ('Error 404'); End.
Відповідь:
первый уровень: жёлтый круг,
второй уровень : жёлтый треугольник,
третий уровень : жёлтый треугольник, жёлтый круг и жёлтый квадрат.
схема:
0/\квадрат
\ | /
|
/\
|
0
–
Пояснення: