陈老师本来想出二元组的问题,奈何好像去年出过了。集训的最后一天,陈老师实在憋不出啥题了,于是陈老师出一个三元组问题考考你。
给出一个 n,三元组的每个数 a, b, c 都是 1 到 n 范围内的整数。陈老师问你满足如下要求的三元组 (a, b, c) 有几个:
输入一行一个整数 n。
输出一个整数表示答案。
10
9
4
1
1
0
样例 1 解释
n = 10 时合法的三元组为:(1,2,4),(1,2,6),(1,2,8),(1,2,10),(1,3,6),(1,3,9),(1,4,8),(1,5,10),(2,4,8),共 9 个。
数据范围
提示
注意「互不相等」在倍数关系下等价于「严格倍数」:b \ge 2a 且 c \ge 2b。于是只有 a, b 需要枚举,确定了 b 之后,c 的取值个数就是 \lfloor n/b \rfloor - 1。内层枚举 b = 2a, 3a, \ldots 的总次数是 O(n \log n),可以直接通过 n \le 10^6。