守形数

Posted ttzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了守形数相关的知识,希望对你有一定的参考价值。

题目描述

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

输入描述:

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

输出描述:

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

输入

复制
25
4

输出

复制
Yes!
No!
#include<iostream>
#include<math.h>
#include<string>
using namespace std;
bool keep_shape(int N)
{
    int M = N*N;
    string str= to_string(M);
    int len = str.length();
    int X = M - (str[0]-0)*pow(10,len-1);
    if(X==N)
        return true;
    else
        return false;
}
int main()
{
    int N;
    while(cin>>N)
    {
        if(keep_shape(N)==true)
            cout<<"Yes!"<<endl;
        else
            cout<<"No!"<<endl;
    }
    return 0;
}

C++ int 与 string相互转化:

int转化string:

to_string()函数:

string to_string (int val);

string to_string (long val);

string to_string (long long val);

string to_string (unsigned val);

string to_string (unsigned long val);

string to_string (unsigned long long val);

string to_string (float val);

string to_string (double val);

string to_string (long double val);

string转换成int:

1.采用标准库中atoi函数,对于其他类型也都有相应的库函数,比如浮点型atof(),long型atol()等等

string str = "123";
int n = atoi(str.c_str());
cout<<n; //123

 

以上是关于守形数的主要内容,如果未能解决你的问题,请参考以下文章

守形数

守形数

1183.守形数

华科机考: 守形数

P1074靶形数独

code1174 靶形数独