1091 N-自守数(15 分) C 实施-源代码
最编程
2024-03-17 19:10:22
...
#include <stdio.h>
#include <math.h>
int main()
{
int M, chengshu, ji, length, last, flag=0;
int arr[20];
scanf("%d", &M);
for(int i=0; i<M; i++)
{
scanf("%d", &arr[i]);
}
for(int j=0; j<M; j++)
{
chengshu = 1;
length = 0;
int tmp = arr[j];
while(tmp>0)
{
tmp /= 10;
length ++;
}
while(chengshu<10)
{
int k = 0;
last = 0;
ji = chengshu * arr[j] *arr[j];
int t = ji;
while(k < length)
{
last += pow(10,k)*(t%10);
t /= 10;
k++;
}
if(last == arr[j])
{
printf("%d %d\n", chengshu, ji);
flag = 1;
break;
}
flag = 0;
chengshu++;
}
if(flag == 0)
{
printf("No\n");
}
}
return 0;
}