Инструкция
1
Согласно определению, число-палиндром является таковым, если его можно равнозначно прочитать слева направо и справа налево. Так, например, 2002 остается собой даже если зеркально отразить его в обратную сторону. К несчастью, компьютер не в состоянии рассмотреть число целиком. Решение задачи будет заключаться в том, что машина последовательно сравнит первую цифру с последней, вторую с предпоследней и далее.
2
Определите количество цифр в числе. Пусть пользователь вводит число в переменную X. Тогда для определения количества цифр в числе стоит написать цикл: for(n=0; N
3
Разбейте число на цифры. Сделать это можно при помощи обычного деления на 10: создав цикл, который последовательно делит X на 10 n раз и сохраняет остаток от деления в заранее подготовленный массив. Для удобства заполнять массив можно сразу по значению n. Во избежание проблем с делением убедитесь, что X задано целочисленно (int).for(n; n>0; n--){A[n]=X%10; X=X10;}
4
Проведите оценку. Создайте цикл, сравнивающий значения пар элементов до конца или до тех пор, пока не попадется различие: for(n=0; n
5
При написании кода не забудьте подключить библиотеку math.h для операции возведения в степень. Кроме того, добавьте в конце getch(); чтобы консоль не закрывалась сразу после завершения программы. Очевидно, что если вам нужно найти количество чисел-палиндромов в заданном диапазоне, то операцию проверки придется повторять циклически.