属于[r,2r]的平方数

证明[r,2r]中最少有一个平方数:链接

假设要求属于[r,2r]区间的一个平方数,那么按照以下代码,s将是一个[r,2r]中的平方数

// [r, 2 * r]
int s = sqrt(2 * r); s *= s;

简要证明sqrt(2r)*sqrt(2r)属于[r,2r]:已知[r,2r]中必有一个s是平方数,所以 s <= 2r,所以sqrt(s) <= [sqrt(2r)],其中[x]表示向下取整,又r <= s, 故r <= [sqrt(2r)] * [sqrt(2r)],证毕。

posted @ 2023-04-05 11:23  可可苦力  阅读(33)  评论(0)    收藏  举报