同构数
同构数是这样一种数:它出现在它的平方数的右端。例如:5的平方是25,5就是同构数,25的平方是625,25也是同构数。
再比如:100以内的同构数有1 5 6 25 76这5个整数。
请编程计算出1~N之间(包括N)的全部同构数有多少个?
再比如:100以内的同构数有1 5 6 25 76这5个整数。
请编程计算出1~N之间(包括N)的全部同构数有多少个?
输入格式
一个正整数N,N<=10000。
输出格式
一个整数,代表1~N之间的全部同构数的个数。
输入:
100
输出:
5
#includeusing namespace std; int n,ans; int f(int x) { int w=x*x; if(x<10&&w%10==x) return 1; if(x<100&&w%100==x) return 1; if(x<1000&&w%1000==x) return 1; if(x<10000&&w%10000==x) return 1; return 0; } int main() { cin>>n; for(int i=1;i<=n;i++) ans+=f(i); cout<



