思路:
一个数恰好等于它的平方数的右端,这个数称为同构数。如5的平方是25,5是25中的右端的数,5就是同构数。
找出1 ~ 1000之间的全部同构数。
编程思路:
1.对于某个数,计算i*i
2.将两个数的个位拿出来比较,不等,肯定不是
3.相等,看十位(将十位变成个位) …
4.直到i为0
#include <stdio.h>
int main(){
int i,j,t,k;
for(int i=1;i<=1000;i++){
t=i;
k=i*i;
while(t){
if(k%10!=t%10) break;
else{
k=k/10;
t=t/10;
}
}
if(t==0){
printf("%d %d\n",i,i*i);
}
}
}