数学高手进!帮我解决一道潜藏在计算机程序设计中很久的数学问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 11:44:59
题目叙述是这样的:
给出一个正整数n(1<n<=2^31-1),求当x,y都为正整数,方程
sqrt(n)=sqrt(x)-sqrt(y){sqrt代表根号,例如:sqrt(16)}=4
的解中,x的最大值是多少?
例如:n等于4时,x的最大值为9
sqrt(4)=sqrt(9)-sqrt(1) {但是必须要保证x,y是正整数}
通过数学方法,我解得x^2+y^2+2ny-2nx+n^2-6xy
这是我发愁了,即为在上述方程中x最大的正整数的点的横坐标
请教各位高手,谁能帮我解出来……有加分……
时间限制 1s
那个写错了,应该是求x的最小正整数的值。
解出来应该是:x^2+y^2+2ny-2nx+n^2-2xy=0
lmocvce 的意思是正确的

我的理解是
sqrt(n)=sqrt(x)-sqrt(y)

则 x=(sqrt(n)+sqrt(y))^2
若要求x是整数,则必然要求n和y都是平方数,否则sqrt(n)+sqrt(y)是无理数,无理数的平方,不会是整数.

既然要求n和y是平方数
给定n,若n不是平方数,sqrt(n)=sqrt(x)-sqrt(y),没有正整数的x解
若n是平方数,则x的最大值限于你使用的数据类型.

举个例:
n=4时,
sqrt(4)=2=sqrt(64)-sqrt(36)
x=64.

不知道y是否有要求?

不知道我说的,和你的意思相不相同.

解答见附件图片(点击可以放大):

不太理解楼主的意思。
给定n时x的最大值是[(2的31次方减1的差)除以n]的算术平方根再取整。
但是楼主的举例又