Определить, является ли число палиндромом - Pascal ABC
Формулировка задачи:
Дано натуральное число n (n 1999). Определить, является ли оно палиндромом («перевертышем»), с учетом четырех цифр. Например, палиндромами являются числа: 2222, 6116, 0440.
Подсказка. Так как число четырехзначное, то переменная оператора For изменяется от 1 до 4. В переменной с именем m хранится «остаток» числа, в первоначальный момент времени он равен введенному числу. В переменной с именем r формируем значение числа – «перевертыша». Основными операциями являются: r:=10*r + m mod 10 (добавление очередной цифры к числу «перевертышу») и m:=m div 10 (изменение проверяемого числа). Изменения переменных i, m и r см. в таблице.
i | m | r |
– | 3994 | 0 |
1 | 399 | 0*10+3994 mod 10=0+4=4 |
2 | 39 | 4*10+399 mod 10=40+9=49 |
3 | 3 | 49*10+39 mod 10 =490+9=499 |
4 | 0 | 499*10+3 mod 10=4990+3=4993 |
Решение задачи: «Определить, является ли число палиндромом»
textual
Листинг программы
var n,i,m,r:integer; begin repeat write('Введите натуральное четырехзначное число '); readln(n); until(n>999)and(n<10000); m:=n; r:=0; for i:=1 to 4 do begin r:=10*r+m mod 10; m:=m div 10; end; if r=n then write('палиндром') else write('не палиндром'); end.
Объяснение кода листинга программы
- Создается переменная n типа integer, которая будет использоваться для чтения введенного числа.
- Создается переменная i типа integer, которая будет использоваться для цикла.
- Создается переменная m типа integer, которая будет использоваться для хранения введенного числа.
- Создается переменная r типа integer, которая будет использоваться для хранения результата вычисления r = 10 * m / 10.
- Создается цикл while, который будет выполняться до тех пор, пока введенное число не будет больше 999 и меньше 10000.
- Внутри цикла переменная m присваивается значение введенного числа.
- Переменная r присваивается значение 10 * m / 10.
- Создается цикл for, который будет выполняться от 1 до 4.
- Внутри цикла переменная r присваивается значение 10 * r + m % 10.
- Переменная m присваивается значение m / 10.
- Если r равно n, то переменной write присваивается значение 'палиндром'.
- Если r не равно n, то переменной write присваивается значение 'не палиндром'.
- Цикл while завершается.
- Код заканчивается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д