当前位置 : 主页 > 网络编程 > c#编程 >

算法证明每一位都相同十进制数不是完全平方数

来源:互联网 收集:自由互联 发布时间:2023-01-31
目录 题意 Description 解题思路 证明 代码 题意 Description 相信大家都做过A+B Problem了吧,这道题是它的加强版。 输入两个整数 A , B ,表示 A 个 B,例如 3 , 6 表示 666 。你只需要把A个B开根
目录
  • 题意
    • Description
  • 解题思路
    • 证明
  • 代码

    题意

    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;
    }
    

    以上就是算法证明每一位都相同十进制数不是完全平方数的详细内容,更多关于完全平方数的证明算法资料请关注自由互联其它相关文章!

    上一篇:c# 复写Equals方法的实现
    下一篇:没有了
    网友评论