Дано натуральное трехзначное число. Проверить является ли оно палиндромом (читается одинакового слева на право и с права налево). Если не является - вывести ближайшее следующее число палиндром. Формат ввода:
На первой строке - натуральное трехзначное число.
Формат вывода:
Если условие выполнено - YES, если нет - то натуральное число.
Пример входных данных
432
Пример выходных данных
434
Написать на Паскале
var x:integer;
begin
readln(x);
if (x mod 10)=(x div 100) then begin writeln('YES');exit;end
else while x mod 10<>x div 100 do x:=x+1;
writeln(x);
end.
ответ:Привет,я не знаю Паскаль,но объяню логику решения. Решение максимально простое и не требует каких-либо углубленных знаний.
Объяснение:
короч. Для каждой цифры ты берешь переменную(x; y; z) дальше пишешь,если x=z,то это число является палиндромом,если x≠z,то начинаешь прибавлять по единице к z, если z = 10 то пусть будет равно 0,дальше прибавляешь к x +1 и делаешь,то же самое с z и все. реализовать просто используя несколько циклов и все. Удачи
Есть вообще капец творческое решение. ты просто из x-z,если число положительное то прибавляешь в z и все,если 0,то тут пишешь yes,если отрицательное,например, -3,то отнимаешь от x ,тоесть x--3=x+3 и все
Я сейчас увидел код от паскаля(человек сверху написал),ахахаххаха, это что за мусор,а не язык,я,конечно,не полностью понял код,но если ты просто будешь прибавлять по единице к трехзначному числу,то это будет долго и не эффективно,хотя и не прям уж ужасно,так что дерзай,но блин выбрось паскаль и начни с нормальных языков,которые пригодятся.