CF1498A GCD Sum
题目描述
一个正整数的 $ \text{gcdSum} $ 定义为该整数与其各位数字之和的最大公约数。形式化地,$ \text{gcdSum}(x) = \gcd(x, \text{sum of digits of } x) $,其中 $ x $ 为正整数。$ \gcd(a, b) $ 表示 $ a $ 和 $ b $ 的最大公约数,即同时整除 $ a $ 和 $ b $ 的最大整数 $ d $。
例如:$ \text{gcdSum}(762) = \gcd(762, 7 + 6 + 2) = \gcd(762, 15) = 3 $。
给定一个整数 $ n $,请你找到最小的整数 $ x \geq n $,使得 $ \text{gcdSum}(x) > 1 $。
输入格式
输入的第一行包含一个整数 $ t $($ 1 \leq t \leq 10^4 $),表示测试用例的数量。
接下来 $ t $ 行,每行包含一个整数 $ n $($ 1 \leq n \leq 10^{18} $)。
同一组测试中的所有测试用例互不相同。
输出格式
输出 $ t $ 行,第 $ i $ 行输出第 $ i $ 个测试用例的答案,即满足条件的最小整数。
说明/提示
下面解释样例中的三个测试用例。
测试用例 1:$ n = 11 $:
$ \text{gcdSum}(11) = \gcd(11, 1 + 1) = \gcd(11, 2) = 1 $。
$ \text{gcdSum}(12) = \gcd(12, 1 + 2) = \gcd(12, 3) = 3 $。
所以,最小的 $ \geq 11 $ 且 $ \text{gcdSum} > 1 $ 的数是 $ 12 $。
测试用例 2:$ n = 31 $:
$ \text{gcdSum}(31) = \gcd(31, 3 + 1) = \gcd(31, 4) = 1 $。
$ \text{gcdSum}(32) = \gcd(32, 3 + 2) = \gcd(32, 5) = 1 $。
$ \text{gcdSum}(33) = \gcd(33, 3 + 3) = \gcd(33, 6) = 3 $。
所以,最小的 $ \geq 31 $ 且 $ \text{gcdSum} > 1 $ 的数是 $ 33 $。
测试用例 3:$ n = 75 $:
$ \text{gcdSum}(75) = \gcd(75, 7 + 5) = \gcd(75, 12) = 3 $。
$ 75 $ 的 $ \text{gcdSum} $ 已经大于 $ 1 $,因此答案就是 $ 75 $。
由 ChatGPT 4.1 翻译