範例程式碼 uva256
//uva256
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int n;
int check(int k) {
int i, a, h, j;
j = k * k;
if(j != 0)
a = log10(j);
else
a = 0;
if(a == n)
return 0;
h = pow(10, n / 2);
if((j / h + j % h) == k)
return 1;
else
return 0;
}
void out(int k) {
int i, a, h;
if(a != 0)
a = log10(k);
else
a = 0;
for(int j = a; j < n-1; j++)
printf("0");
printf("%d\n", k);
}
int main() {
int a;
while(scanf("%d", &n) == 1) {
a = (int) (pow(10, n / 2)) * 2 - 2;
for(int i = 0; i < a; i++)
if(check(i))
out(i * i);
}
return 0;
}