亲宝软件园·资讯

展开

完全平方数证明算法

concyclics 人气:0

题意

Description

相信大家都做过"A+B Problem"了吧,这道题是它的加强版。

输入两个整数 A , B ,表示 A 个 B,例如 3 , 6 表示 666 。你只需要把“A个B”开根号。如果开根号后是个整数,输出开根后的数,否则输出“We donot have SPJ!”

解题思路

很显然,这题就是让我们判断“A个B”是不是完全平方数,我们从感觉上判断,形如 666 ⋯ 666 这样的数,一般来说都不是完全平方数,现在我们来证明一下。

证明

所以上述情况不是完全平方数。

故对于“ A个3,7”不是完全平方数。

所以对于任意三位数及以上的的"A个B",其必定不是完全平方数。

代码

// by Concyclics
#include <iostream>
using namespace std;
int main()
{
    int A,B;
    cin>>A>>B;
    if(B==0)
    {
        puts("0");
        return 0;
    }
    if(A==1)
    {
        if(B==1)
        {
            puts("1");
            return 0;
        }
        if(B==4)
        {
            puts("2");
            return 0;
        }
        if(B==9)
        {
            puts("3");
            return 0;
        }
    }
    puts("We donot have SPJ!");
    return 0;
}

加载全部内容

相关教程
猜你喜欢
用户评论