思路分析
我们先看什么是同构数:
如果一个数的平方数的尾部是他本身,那么这个数就是同构数。
比如:5的平方是25,25的尾部是5,所以5是同构数。
6的平方是36,36的尾部是6,所以6是同构数。
25的平方是625,625的尾部是25,所以25是同构数。
知识补充:
如何求出一个两位数的个位数(尾部)是几?这个数对10求模就可以求出个位数是几。
如何求出一个三位数的十位数个位数(尾部)是多少?这个数对100求模就可以求出十位数个位数。
例子:25%10=5,5就是25个位上的数。
625%100=25,25就是十位和个位上的数。
我们以求1到1000的同构数为例进行案例讲解。
案例代码如下
#include void main(){int i,j;//定义变量for(i=1;i<1000;i++){if((i*i)%10==i||(i*i)%100==i||(i*i)%1000==i){printf("%d\t",i);//分别求1到10,10到100,100到1000的同构数}}}
案例代码如下