UVA294 约数 Divisors

题目描述

数学家们钟爱数字的各种奇特性质。例如,他们认为 $945$ 是个有趣的数字,因为它是首个其因数之和大于自身数的奇数。 为协助他们寻找有趣数字,你需编写程序扫描数值范围,找出该区间内最大因数个数的数字。遗憾的是,数字规模与范围大小使得过于简单的方案可能耗费过多运行时间。因此请确保你的算法足够精妙,能在短短几秒内处理最大可能的数值范围。

输入格式

输入的第一行指定区间数量 $N$,随后 $N$ 行每行包含一个区间,由下界 $L$ 和上界 $U$ 组成,其中 $L$ 和 $U$ 均包含在区间内(即闭区间 $[L,U]$)。

输出格式

对于每个区间,找出区间中因数个数最大的数 $P$(若有多个数有相同的、最大的因数个数,则选取数最小的),并计算 $P$ 的正因数个数 $D$(包括 $P$ 本身)。以以下格式输出:`Between L and H, P has a maximum of D divisors.`($L$、$H$、$P$、$D$ 的含义上文均有提到)。

说明/提示

对于 $100\%$ 的数据,满足 $1\le L\le U\le10^9$,$0\le U-L\le10^4$。