给定整数 q,寻找整数 p 使 p(p − q²) 尽可能小

给定整数q,要在Z里找整数p使得 f(p)=p(p-q^2)(二次开口向上)

取到最小值。

把f(p)对p配方: 抛物线顶点在p=q^2/2。

因为p必须是整数,所以只需比较与q/2 距离最近的两个整数:

p1=Lq^2/2」,p2=Lq^2/2」.计算对应的函数值即可。

通用公式 令 p*= round(q*/2) (四舍五入)

则 min f(p)=p*(p*-q*).

具体写成 ·若a为偶数:q=2k

q*=4k^2→ q^2/2=2k^2为整数

p*=2k^2

min f(p)=2k*(2k^2-4k^2)=-4k^4=-q^4/4 ·

若a为奇数:q=2k+1 q^2=4k^2+4k+1

q^2/2=2k^2+2k+1/2

p*=2k^2+2k

或2k^2+2k+1 两者给出相同最小值

min f(p)=-(q^4-1)/4.

例子 q=3 → q^2=9,

p*=round(9/2)=5 f(5)=5(5-9)=-20

q=4 → q^2=16,p*=8 f(8)=8(8-16)=-64

因此 min*(p∈Z) p(p-q^2)=-Lq^4/4」.

posted @ 2026-07-10 11:23  CatAlien_Lee  阅读(6)  评论(2)    收藏  举报