我的思路,就是用n*n-n得到的数res,再求取n的位数count,然后看res的count位是否都为0,就此AC;
#include<iostream> using namespace std; int main() { int n; while(cin>>n) { int res,i,count=0; bool flag=true; res=n*n; res=res-n; while(n!=0) { count++; n=n/10; } for (i=0;i<n-n%10;i=i+10) count++; for (i=0;i<count;i++) { if (res%10!=0) flag=false; res=res/10; } if (flag==true) cout<<"Yes!"<<endl; else cout<<"No!"<<endl; } return 0; }