关于同构数的题
找出1至99之间全部的同构数.同构数是这样一组数:它出现它的在平方数的右边,列如,5是25右边的数,25是625右边的数,5和25都是同构数.
可求10000000以内所有同构数。
#include <stdio.h>
void main()
{long i,j,s;
for(i=2;i<10000000;i++)
{ s=i*i;
j=i;
while(j>0)
{ if((j%10)!=(s%10)) break;
j=j/10;
s=s/10;
}
if(j==0) printf("%6d",i);
}
}
main()
{
int i,num;
for(i=1;i<10;i++)
{num=i*i;
if(num%10==i)
{
if(num*num%100==num)
{
printf("%d %d\n",i,num);
}
}
}
getch();
}
[此贴子已经被作者于2007-4-9 23:42:41编辑过]
7楼表述有误,不能说“25是625的同构数”,应该说“25是一个同构数”,因为25满足:
它的平方数625中的最右边包含25本身