Найти целые двузначные числа, которые при возведении в квадрат дают палиндромы - C (СИ)
Формулировка задачи:
- Найти цели двузначные числа, которые при возведении в квадрат дают палиндромы.
- Например, 262 = 676.
Решение задачи: «Найти целые двузначные числа, которые при возведении в квадрат дают палиндромы»
- #include <stdio.h>
- #include <stdlib.h>
- int ifpalindrome(int a)
- {
- int arr[4], i, j, k, flag;
- for(i = 0; a; a /= 10, i++)
- arr[i] = a % 10;
- for(j = 0, k = i - 1, flag = 0; k >= 0; j++, k--){
- if(arr[j] != arr[k])
- flag = 1;
- }
- if(!flag)
- return 1;
- return 0;
- }
- int main()
- {
- int i;
- for(i = 10; i < 100; i++)
- if(ifpalindrome(i * i))
- printf("%d %d\n", i, i * i);
- }
Объяснение кода листинга программы
В этом коде определены две функции: ifpalindrome и main. Функция ifpalindrome принимает целочисленный аргумент a. Сначала код делит a на 10 и сохраняет остаток в массиве arr. Затем он сравнивает элементы массива, двигаясь от начала к концу и от конца к началу. Если какой-либо элемент не совпадает, то флаг устанавливается в 1. Если все элементы совпадают, то флаг устанавливается в 0. Функция возвращает 1, если флаг равен 0, и 0 в противном случае. Функция main начинает цикл, который проходит через все двузначные числа от 10 до 99. Для каждого числа выполняется функция ifpalindrome, и если результат равен 1, то число и его квадрат выводятся на экран. Код проверяет все двузначные числа, возводя их в квадрат и проверяя, является ли результат палиндромом. Если да, то число и его квадрат выводятся на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д