Найти все меньшие 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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д