Найти целые двузначные числа, которые при возведении в квадрат дают палиндромы - 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, то число и его квадрат выводятся на экран. Код проверяет все двузначные числа, возводя их в квадрат и проверяя, является ли результат палиндромом. Если да, то число и его квадрат выводятся на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д