A37634.数的集合

普及+/提高

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定一个集合 SS,一开始时,集合中只有一个数 NN。接下来你可以执行以下操作:

  • 22NN 中选择一个集合中没有的数 XX 加入集合 SS 中。对于 XX,要求存在 YSY \in S 使得 gcd(X,Y)>1\gcd{(X, Y)} \gt 1gcd(X,Y)\gcd{(X, Y)} 表示 XXYY 的最大公约数。

请你计算最多可以执行多少次以上操作。

每个测试文件包含 T\tt{T} 个测试用例。

数据范围\large{数据范围}

  • 1T1051 \le T \le 10^5
  • 2N3×1062 \le N \le 3 \times 10^6

输入格式

对于每个测试文件,格式如下:

T\tt{T}
Testcase1\tt{Testcase_1}
Testcase2\tt{Testcase_2}
\tt{\vdots}
TestcaseT\tt{Testcase_T}

对于每个 Testcase\tt{Testcase} 格式如下:

N\tt{N}

输出格式

对于每个 Testcase\tt{Testcase} 在单独的一行中输出答案。

输入输出样例

  • 输入#1

    5
    2
    8
    39
    2024
    1000000

    输出#1

    0
    4
    33
    1885
    963038

说明/提示

样例 1\bf{样例\ 1:}

无法执行操作。

样例 2\bf{样例\ 2:}

  1. 选择 X=6X = 6 加入到 SS 中,gcd(6,8)=2\gcd{(6, 8)} = 2,此时 S={6,8}S = \{6, 8\}
  2. 选择 X=4X = 4 加入到 SS 中,gcd(4,8)=4\gcd{(4, 8)} = 4,此时 S={4,6,8}S = \{4, 6, 8\}
  3. 选择 X=2X = 2 加入到 SS 中,gcd(2,4)=2\gcd{(2, 4)} = 2,此时 S={2,4,6,8}S = \{2, 4, 6, 8\}
  4. 选择 X=3X = 3 加入到 SS 中,gcd(3,6)=3\gcd{(3, 6)} = 3,此时 S={2,3,4,6,8}S = \{2, 3, 4, 6, 8\}

总共可以执行 44 次操作。

首页