题目描述
某数的平方是 77 位数,且这 77 个数字不相同,如1267^212672 = 16052891605289。 编写程序,输入 xx ,yy ( 1000 \le x \le y \le 99991000≤x≤y≤9999 )在x \sim yx∼y的范围内找出所有符合条件的数并打印出来。
输入
一行,两个整数。
输出
若干行,每行一个符合条件的数。
样例:
输入:
1000 1025
输出:
1017
1023
1024
代码如下:
#include<bits/stdc++.h>
using namespace std;
long long x,y,a[100];//我自身喜欢用long long,当然用int也是对的
int main(){
cin>>x>>y;
for(int i=x;i<=y;i++)
{
int t=i*i,s=0,cc,m;
for(int z=t;z;z=z/10)
s++;
if(s==7)
{
for(;t;t=t/10)
{
cc=t%10;
a[cc]++;
}
for(int j=0;j<=9;j++)
if(a[j]>=2)m=1;
if(m==0)cout<<i<<endl;
m=0;
for(int j=0;j<=9;j++)
a[j]=0;
}
}
return 0;
}