Традиционное решение: var n,d1,d2,d3,d4:integer; begin Write('Введите четырехзначное натуральное число: '); Readln(n); d1:=n div 1000; d4:=n mod 10; d3:=(n mod 100) div 10; d2:=(n mod 1000) div 100; n:=1000*d1+100*d3+10*d2+d4; Writeln('Результат: ',n) end.
Решение с использованием символьного представления числа: var s:string; begin Write('Введите четырехзначное натуральное число: '); Readln(s); Writeln('Результат: ',s[1]+s[3]+s[2]+s[4]) end.
Программа получает на вход натуральное число, затем подсчитывает сумму его цифр и определяет наименьшую из всех цифр, кроме первой. В соответствии с условием задачи требуется найти наибольшее четырехзначное число, сумма цифр которого равна 29, а наибольшая из трех последних цифр не превышает 7. Итак, одна из цифр числа известна - это 7. Тогда сумма остальных трех цифр равна 29-7=22, причем две из этих цифр не могут быть меньше 7. Полагаем, что они равны 7 с тем, чтобы получить наибольшую допустимую первую цифру. Получаем 22-7х2=8, т.е. число должно быть равно 8777. ответ: 8777
var
n,d1,d2,d3,d4:integer;
begin
Write('Введите четырехзначное натуральное число: ');
Readln(n);
d1:=n div 1000; d4:=n mod 10;
d3:=(n mod 100) div 10;
d2:=(n mod 1000) div 100;
n:=1000*d1+100*d3+10*d2+d4;
Writeln('Результат: ',n)
end.
Тестовое решение:
Введите четырехзначное натуральное число: 4567
Результат: 4657
Решение с использованием символьного представления числа:
var
s:string;
begin
Write('Введите четырехзначное натуральное число: ');
Readln(s);
Writeln('Результат: ',s[1]+s[3]+s[2]+s[4])
end.