如何快速判定一个整数是不是两个完全平方数之和?如题.这个方法对于很大的整数(0~10^12)仍然很慢……具体题目参见这个题我是这样做的:完全平方数有如下几个性质(与此题有关):1.

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/28 04:59:53
如何快速判定一个整数是不是两个完全平方数之和?如题.这个方法对于很大的整数(0~10^12)仍然很慢……具体题目参见这个题我是这样做的:完全平方数有如下几个性质(与此题有关):1.如何快速判定一个整数

如何快速判定一个整数是不是两个完全平方数之和?如题.这个方法对于很大的整数(0~10^12)仍然很慢……具体题目参见这个题我是这样做的:完全平方数有如下几个性质(与此题有关):1.
如何快速判定一个整数是不是两个完全平方数之和?
如题.
这个方法对于很大的整数(0~10^12)仍然很慢……
具体题目参见
这个题我是这样做的:
完全平方数有如下几个性质(与此题有关):
1.形如4n+2和4n+3型的整数一定不是完全平方数;
2.形如8n+2,8n+3,8n+5,8n+6,8n+7型的整数一定不是完全平方数;
3.平方数的形式具有下列形式之一:16m,16m+1,16m+4,16m+9.
所以一个数是两个完全平方数之和应有如下性质:
1.模4余3的数一定不是所求.
2.模8余3,6,7的数一定不是所求.
3.模16余3,6,7,11,12,14,15的数一定不是所求.
通过这3个条件可以滤过大部分的其他数,如果该数能通过这3个条件则进行您给出的判定过程.
这样做快了很多.

如何快速判定一个整数是不是两个完全平方数之和?如题.这个方法对于很大的整数(0~10^12)仍然很慢……具体题目参见这个题我是这样做的:完全平方数有如下几个性质(与此题有关):1.
问题的本质还是要遍历的,只要限制一下遍历规则即可.
第一:对于给出的整数n,求起平方根为sqrtn=sqrt(n),查找和为它的两个完全平方数循环到【sqrtn】(不大于sqrtn的整数);
第二:设两个数分别为a,b;起始遍历条件是:int a=(int)sqrtn;a递减
截至条件是aa;停止.
实例:
void dec(int num)
{double sqrtn=sqrt(num),temp;
for(int a=(int(sqrtn),b=0;a>=b;a--)
{ temp=sqrt(num-a*a);b=(int)temp;
if((temp-double(b)

如何快速判定一个整数是不是两个完全平方数之和?如题.这个方法对于很大的整数(0~10^12)仍然很慢……具体题目参见这个题我是这样做的:完全平方数有如下几个性质(与此题有关):1. 如何判断一个数是不是一个完全平方数? 如何证:四个连续整数的积加1等于一个完全平方数? 数学一元二次函数有理系数方程ax2+bx+c=0(a≠0)有有理数根的判定是:b2-4ac是完全平方式 方程有有理数根.整系数方程x2+px+q=0有两个整数根 p2-4q是整数的平方数.给点相关习题 这是不是真的 两个连续的完全平方数(整数) 如何证明:相邻三个整数和不是完全平方数. 整数a是一个完全平方数,它的下一个完全平方数是什么? “一个整数的完全平方数”啥意思 C中 如何将浮点数转化成整数,如何判定一个浮点数是否等于其整数部分?C语言中 如何将浮点数转化成整数,如何判定一个浮点数是否等于其整数部分? 一个整数若分别加上100与167,则可得到两个完全平方数,求这个正整数 求两个连续都是完全平方数的整数3个连续都是完全立方数的整数求两个连续都是完全平方数的整数3个连续都是完全立方数的整数 求两个连续都是完全平方数的整数和3个连续都是完全立方数的整数 1是不是完全平方数 0是不是完全平方数 3257是不是完全平方数 2002是不是完全平方数 如何证明两个奇数的平方和不是完全平方数? 如果两个连续整数都是完全平方数,求这两个连续的整数,如果三个连续整数都是完全立方数,球这三个数.