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

 

题意

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

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

 一、概述:System.Collections.Concurrent 命名空间提供多个线程安全集合类。当有多个线程并发访问集合时,应使用这些类代替System.Collections和Sy ...