Найти целые двузначные числа, которые при возведении в квадрат дают палиндромы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Найти цели двузначные числа, которые при возведении в квадрат дают палиндромы.
Например, 262 = 676.

Решение задачи: «Найти целые двузначные числа, которые при возведении в квадрат дают палиндромы»

textual
Листинг программы
#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, то число и его квадрат выводятся на экран. Код проверяет все двузначные числа, возводя их в квадрат и проверяя, является ли результат палиндромом. Если да, то число и его квадрат выводятся на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы