同构数是指一个数的平方的尾数等于该数本身。如:
0^2 = 0
1^2 =1
5^2 =25
从键盘上输入k,输出第k个同构数。
测试输入:3
测试输出:5^2=25
测试输入:6
测试输出:76^2=5776
测试输入:9
测试输出:9376^2=87909376
代码如下:
#include<stdio.h>
int main()
{
int i=0, j=0, count=0, k, m=1;
scanf("%d", &k);
while(1)
{
while(1)
{
if(i/m==0) break;
m*=10; // m也即是当前i的位数
}
j = i*i;
if(j%m == i) // 取余得到结果
{
count++;
if(count==k)
{
printf("%d^2=%d\n", i, j);
break;
}
}
i++;
}
return 0;
}