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

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

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

Найти все меньшие 1000 натуральные числа, которые при возведении в квадрат дают палиндром (перевертыш). (Палиндром число, в записи которого прямой и обратный порядок цифр одинаков).
#include <stdio.h>
 
/* Получение от числа N цифры, разряд которой - в i */
#define Dig(i) ((N / (i)) % 10)
 
/* Основная функция */
void main( void )
{
unsigned long N, l, r, gb;
 
printf("Enter the number ");
scanf("%lu", &gb);
N=gb*gb;
/* Находим разрад старшей цифры */
for (l = 1000000000UL; l > N; l /= 10)
{}
 
/* Сравниваем цифры */
for (r = 1; r < l; r *= 10, l /= 10)
if (Dig(l) != Dig(r))
{
printf("NO\n");
return;
}
 
printf("YES\n");
}

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

textual
Листинг программы
int isPoly(int n)
{ int k=0
  while(n) {
    k = 10*k + n%10;
    n /= 10;
  }
  return (k==n);
}

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


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

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

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