标题:平方十位数
由0~9这10个数字不重复、不遗漏,可以组成很多10位数字。
这其中也有很多恰好是平方数(是某个数的平方)。
比如:1026753849,就是其中最小的一个平方数。
请你找出其中最大的一个平方数是多少?
注意:你需要提交的是一个10位数字,不要填写任何多余内容。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll maxn=987654231;
int val[10];
bool check(ll ans){
for(int i=0;i<10;i++){
val[i]=0;
}
int id;
while(ans){
id=ans%10;
ans/=10;
val[id]++;
if(val[id]>1){
return false;
}
}
return true;
}
int main(){
int flag=1;
ll x;
for(x=99380;flag;x--){
if(check(x*x)){
flag=0;
break;
}
}
cout<<x*x<<endl;
return 0;
}