有点难道的C语言题.
编程判断一个正数是否是同构数:同构数是这样的一个数,它出现在它的平方数的右边.比如:5就是同构数,因为5的平方数是25,25右边的数正好是5.同理25也是同构数,因为25也出现在其平方数625的右边.(题目中假设该数小于10000)
#include <stdio.h>
#include <math.h>
int isomorphic(int n)
{
int m,len_suf_zero,len_n;
m=n*n-n;
if(!m)return 1;
len_suf_zero=0;
while(m%10==0){
len_suf_zero++;
m/=10;
}
len_n=log10(n)+1;
return (len_suf_zero>=len_n);
}int main()
{
int n;
while(scanf(\"%d\",&n)!=EOF){
printf(\"%d\n\", isomorphic(n));
}
}