由于数论和组合数学是信息学最关注的数学分支,因此,我们也对今年数学营中的这些部分做一定的了解。
第一轮最后一道压轴题描述如下:
已知 p,q,3p−1q,q−1pp,q,{3p-1\over q},{q-1\over p}p,q,q3p−1,pq−1 都是正整数,求 p2+q2p^2+q^2p2+q2 的最大值。
本题是一道比较基础的数论题,我们在做一些编程题分析的时候也会用到这样的基础知识:
- 数论中所有讨论的数都必须是整数;
- 若 xyx\over yyx 为正整数,通常我们就直接设 xy=k{x\over y}=kyx=k,其中 kkk 为正整数即可。
根据这两点就可以完成这道题了。
解:令
3p=k1∗q+1q=k2∗p+1
\begin{align}
&3p=k_1\ast q +1\tag {1}\\
&q=k_2\ast p+1\tag {2}
\end{align}
3p=k1∗q+1q=k2∗p+1(1)(2)
将 (2) 代入 (1),得 3p=k1∗(k2∗p+1)+13p =k_1\ast(k_2\ast p+1)+13p=k1∗(k2∗p+1)+1,通过整理可得
(3−k1∗k2)p=k1+1(3)
(3-k_1\ast k_2)p=k_1+1 \tag{3}
(3−k1∗k2)p=k1+1(3)
由于 k1,k2,p,qk_1,k_2,p,qk1,k2,p,q 均为正整数,因此 3>k1∗k23\gt k_1\ast k_23>k1∗k2:
- 当 k1=1,k2=1k_1=1,k_2=1k1=1,k2=1 时,代入 (3) 式解得 p=1p=1p=1,代入 (2) 式得 q=2q=2q=2;
- 当 k1=1,k2=2k_1=1,k_2=2k1=1,k2=2 时,代入 (3) 式解得 p=2p=2p=2,代入 (2) 式得 q=5q=5q=5;
- 当 k1=2,k2=1k_1=2,k_2=1k1=2,k2=1 时,代入 (3) 式解得 p=3p=3p=3,代入 (2) 式得 q=4q=4q=4;
综上,当 p=2,q=5p=2,q=5p=2,q=5 时,p2+q2p^2+q^2p2+q2 取最大值为 292929。