设n谁若是有更简便的算法就更好了哈!

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 07:16:17
设n谁若是有更简便的算法就更好了哈!
xSnA~v)4a-$5 ڤZLDYm44dO23z+x ڨf̙+wjڈљnY/W׳/gC=h98UڏFI$Su9J1N#%:W("UX)茪xjU`VB}Qđ,VpE}8O'XD"J.5w\ @nZYQc)ơZ'~&}S5GpQjmӭ6 pH6ryie3, m

设n谁若是有更简便的算法就更好了哈!
设n
谁若是有更简便的算法就更好了哈!

设n谁若是有更简便的算法就更好了哈!
delta = (4k+1)^2 - 4(4k^2-2) = 8k+9,是求关于n的2次方程 n^2 - (4k+1)n + 4k^2-2 = 0 中的Delta.
n = [(4k+1)+(delta)^(1/2)]/2 或 n = [(4k+1) - (delta)^(1/2)]/2,
n要是正整数. 越大越好.
所以, n = [(4k+1) + (8k+9)^(1/2) ]/2.
所以,(8k+9)必须要是一个平方数.
若(8k+9)是一个偶数的平方,则 n = [(4k+1) + (8k+9)^(1/2)]/2 就是(奇数和偶数)的平均值,不是整数.
所以,(8k+9)只能是一个奇数的平方,因此,令8k+9=(2m+1)^2.
8k=(2m+1)^2-9=(2m+1+3)(2m+1-3)=(2m+4)(2m-2)=4(m+2)(m-1),
k=(m+2)(m-1)/2.
此时,
n=[(4k+1) + (2m+1)]/2 = 2k+m+1.
n = 2k+m+1 = (m+2)(m-1)+m+1 = (m+1+1)(m+1-2) + (m+1)
=(m+1)^2 - (m+1) - 2 + (m+1)
=(m+1)^2 - 2
在100以内,满足(m+1)^2 - 2形式的最大的整数为 n=10^2 - 2 = 98