判断某整数是否为两数平方之和
2017-10-20 12:47
232 查看
题:给定一个整数 N,写一个程序判断是否存在 2 个整数 a、b(a < b),使得 a^2 + b^2 = N
如:
输入:N = 5,输出:true
输入:N = 7,输出:false
思路:我们可以把整数N当成是一个圆心在原点的园的半径的平方。 即圆的方程为:a^2 + b^2 = N。这样,我们就可以使得a从1开始到根号N,在这个区间内找一个数b,使得根号(N-a^2)为整数,如果找到了就输出true,没找到就输出false。
代码:
这段代码没有经过判题程序验证,只是为了阐述我的思路。如果有不正确的地方,还请指正,谢谢!
呕心沥血写出来的,转载请一定注明出处!
如:
输入:N = 5,输出:true
输入:N = 7,输出:false
思路:我们可以把整数N当成是一个圆心在原点的园的半径的平方。 即圆的方程为:a^2 + b^2 = N。这样,我们就可以使得a从1开始到根号N,在这个区间内找一个数b,使得根号(N-a^2)为整数,如果找到了就输出true,没找到就输出false。
代码:
public boolean test(int n){ if(n == 0) return false; double eps = 1e-10;// 精度 int sqrtN = (int)Math.sqrt(n); for(int i = 1; i < sqrtN; i++){ int doubleA = i*i; double b = Math.sqrt(n - doubleA); if(b - (double)((int)b) < eps){ return true; } } return false; }
这段代码没有经过判题程序验证,只是为了阐述我的思路。如果有不正确的地方,还请指正,谢谢!
呕心沥血写出来的,转载请一定注明出处!
相关文章推荐
- 算法爱好者——判断某整数是否为两数平方之和 ? 待解决
- hdu3826(素数的应用——判断某个数的因子是否含有整数的平方数)
- 判断一个整数是否满足完美平方?
- 判断有序整型数组中是否存在两数,相加之和等于给定的任意整数
- 判断一个整数是否平方数
- Java之判断大整数是否为平方数
- 判断一个整数是否平方数
- 【数据结构与算法分析】2.2 两个整数的最大公因数(也可判断两数是否互素)
- Java判断是否为整数的5种方法
- JavaScript如何判断一个整数是否为质数
- 判断输入的是否是整数
- 判断是否为平方数
- leetcode——Palindrome Number 判断整数数字是否为回文(AC)
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 输入一个整数,判断该整数是否是回文!
- js 判断是否是整数
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 浮点数在intel上的二进制存储结构,以及如何判断一个浮点数是否为整数
- 判断一个整数是否是2的N次方【转载】
- 1.求一个整数的二进制中1的个数 2.判断一个数是否是2的n次方