一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。
输出格式:
在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。
输出样例:
1 5 6 25 76 376 625
结尾无空行
思路:通过取余数的方法来获取同构数。
#include<stdio.h>
int main()
{
int i,n;//i为循环次数 n为同构数位数
for(i=1;i<=1000;i++)
{
for(n=1;n<=1000;n=n*10)//判断同构数位数
if(i/n==0)break; // 1/10=0 5/10=0 25/100=0
if((i*i)%n==i) // 1%10=1 25%10=5 625%100=25
printf("%6d",i);
}
return 0;
}