九度 题目1183:守形数----------------我用的方法自创

我的思路,就是用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;
}
原文地址:https://www.cnblogs.com/jianrenguo/p/6485684.html