Var a,b,c,max,i:integer; ca,cb,cc,smax:string; begin max:=-1; readln(ca); readln(cb); readln(cc); for i:=1 to 3 do begin if strtoint(ca[i])>max then begin smax:=ca; max:=strtoint(ca[i]); end; if strtoint(ca[i])>max then begin smax:=cb; max:=strtoint(ca[i]); end; if strtoint(cc[i])>max then begin smax:=cc; max:=strtoint(ca[i]); end; end; writeln(smax); end.
Пример ввода: 123 456 908 Пример вывода: 908
//2
Var n,n1:integer; s:string; begin readln(n); n1:=n; if (n=11) or (n=12) or (n=13) or (n=14) then s:='лет' else begin n:=n mod 10; case n of 0:s:='лет'; 1:s:='год'; 2:s:='года'; 3:s:='года'; 4:s:='года'; 5:s:='лет'; 6:s:='лет'; 7:s:='лет'; 8:s:='лет'; 9:s:='лет'; end; end; writeln('Мне ',n1,' ',s); end.
В данном случае достаточно просто идти с конца. Скажем, если есть число 99, очевидно, последней командой было "прибавить 1". Далее, 98 - может быть получено умножением на 2, и следует выбирать именно эту команду - программа точно не будет превосходить по размеру вариант, где последней операцией является сложение. Например, 98 - 49 - 48 короче, чем 98 - 97 - 96 - 48
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку