题目1183:守形数

题目1183:守形数

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:4791

解决:2483

题目描述:

守形数是这样一种整数,它的平方的低位部分等于它本身。
比如25的平方是625,低位部分是25,因此25是一个守形数。
编一个程序,判断N是否为守形数。

输入:

输入包括1个整数N,2<=N<100。

输出:

可能有多组测试数据,对于每组数据,
输出"Yes!”表示N是守形数。
输出"No!”表示N不是守形数。

样例输入:
25
4
样例输出:
Yes!
No!
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;

int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int m=n*n;
        bool flag =false;
        for(int i=1; i<=4; i++)
        {
            double k=pow(10,i);
            if(m%(int)k==n)
            {
                flag=true;
                break;
            }
        }
        if(flag)
        {
            cout<<"Yes!"<<endl;
        }
        else
            cout<<"No!"<<endl;
    }
    return 0;
}

 

posted @ 2016-07-31 16:49  多思考&&多动手  阅读(182)  评论(0编辑  收藏  举报