diff options
Diffstat (limited to 'NTU/pali.c')
-rw-r--r-- | NTU/pali.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/NTU/pali.c b/NTU/pali.c new file mode 100644 index 0000000..05f24dd --- /dev/null +++ b/NTU/pali.c @@ -0,0 +1,38 @@ +#include <stdio.h> +#include <math.h> + +char get(long m, char idx) +{ + long n10 = (long) pow(10, idx + 1); + m %= n10; + if (idx) + m /= (n10 / 10); + return m; +} + +int main() +{ + short n, i; + long a[1000]; + scanf("%hd", &n); + for (i = 0; i < n; i++) + scanf("%ld", &a[i]); + + char j, len, boo; + for (i = 0; i < n; i++) { + boo = 1; + len = (char) log10(a[i]); + if (len) + for (j = 0; j * 2 < len; j++) { + if (get(a[i], j) != get(a[i], len - j)) { + boo = 0; + break; + } + } + if (boo) + printf("%ld ", a[i]); + } + + printf("\n"); + return 0; +} |