题目地址 #include<cstdio> #include<iostream> #include<cmath> using namespace std; int main(void) { int n; cin>>n; for(int i=0;i<n;i++) { int number; cin>>number; bool flag=false; int temp=number; int cnt=0; while(temp) cnt++,temp/=10; for(int j=1;j<10;j++) { int sum=j*pow(number,2); int m=pow(10,cnt); if( (sum-number) % m == 0) { flag=true; cout<<j<<" "<<sum<<endl; } if(flag) break; } if(!flag) cout<<"No"<<endl; } return 0; } #include<cstdio> #include<iostream> #include<string> #include<algorithm> using namespace std; int main(void) { int n; cin>>n; while(n--) { int x,sum,i; cin>>x; for(i=1;i<10;i++) { sum=x*x*i; string s1=to_string(x); string s2=to_string(sum); reverse(s1.begin(),s1.end()); reverse(s2.begin(),s2.end()); bool flag=true; for(int j=0;j<s1.size();j++) if(s1[j]!=s2[j]) flag=false; if(flag) { cout<<i<<" "<<sum<<endl; break; } } if(i==10) cout<<"No"<<endl; } }