Вопрос задан 01.07.2023 в 14:50. Предмет Информатика. Спрашивает Ганцгорн Алина.

Дано натуральное трехзначное число. Проверить является ли оно палиндромом (читается одинакового

слева на право и с права налево). Если не является - вывести ближайшее следующее число палиндром. Формат ввода: На первой строке - натуральное трехзначное число. Формат вывода: Если условие выполнено - YES, если нет - то натуральное число. Пример входных данных 432 Пример выходных данных 434 Написать на Паскале
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Гамезо Дима.

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.

0 0
Отвечает Митасов Васёк.

Ответ:Привет,я не знаю Паскаль,но объяню логику решения. Решение максимально простое и не требует каких-либо углубленных знаний.

Объяснение:

короч. Для каждой цифры ты берешь переменную(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 и все

Я сейчас увидел код от паскаля(человек сверху написал),ахахаххаха, это что за мусор,а не язык,я,конечно,не полностью понял код,но если ты просто будешь прибавлять по единице к трехзначному числу,то это будет долго и не эффективно,хотя и не прям уж ужасно,так что дерзай,но блин выбрось паскаль и начни с нормальных языков,которые пригодятся.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот программа на Pascal, которая выполняет указанную задачу:

pascal
program PalindromeChecker; var inputNumber, nextPalindrome: Integer; function IsPalindrome(number: Integer): Boolean; var original, reversed, remainder: Integer; begin original := number; reversed := 0; while number <> 0 do begin remainder := number mod 10; reversed := reversed * 10 + remainder; number := number div 10; end; IsPalindrome := original = reversed; end; function FindNextPalindrome(startNumber: Integer): Integer; begin Inc(startNumber); while not IsPalindrome(startNumber) do Inc(startNumber); FindNextPalindrome := startNumber; end; begin Write('Введите трехзначное число: '); Readln(inputNumber); if IsPalindrome(inputNumber) then Writeln('YES') else begin nextPalindrome := FindNextPalindrome(inputNumber); Writeln(nextPalindrome); end; end.

Программа сначала проверяет, является ли введенное число палиндромом. Если да, выводит "YES". Если нет, она вызывает функцию FindNextPalindrome, чтобы найти ближайший следующий палиндром и выводит его.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос