首页 > 试题广场 >

平方和

[编程题]平方和
  • 热度指数:2214 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个正整数 c ,请问是否存在正整数 a , b 满足

数据范围:
示例1

输入

5

输出

true

说明

2^2+1^2=5  
示例2

输入

25

输出

true

说明

4^2+3^2=25  
示例3

输入

24

输出

false
bool square(int c ) 
{
    int i=(int)sqrt(c);
    int j= 0;
    for (; i >= 1; i--)
    {
        j = (int) sqrt(c - i * i);
        if ((c == i * i + j * j) && (j != 0))
        {
            return true;
            break;
        }
        
    }
        return false;
}

发表于 2022-10-08 23:48:01 回复(0)
bool square(int c ) {
    // write code here
    for(int i=1; i<=c/2; i++)
    {
        if(i*i > c)
            break;
        for(int j=1; j<=c/2; j++)
        {
            if(j*j > c)
                break;
            if(c == i*i+j*j)
                return true;
        }
    }
    return false;
}

发表于 2022-09-06 20:54:29 回复(0)

bool square(int c ) {
    int i;
    for (i = 1; i < sqrt(c); i++) {
          int temp = c - i * i;   
          int k = sqrt(temp);   
           //用整型接收某个数的平方根或近似平方根
          if (k * k == temp)    
             //若这个整型平方后可以还原成求平方根之前的数,
             //说明是完全平方
                return true;
          }
    return false;
    }

发表于 2022-04-24 21:22:49 回复(0)