CF1498A.GCD Sum

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

GCD Sum

题目描述

一个正整数的 gcdSum \text{gcdSum} 定义为该整数与其各位数字之和的最大公约数。形式化地,$\text{gcdSum}(x) = \gcd(x, \text{sum of digits of } x)$,其中 x x 为正整数。gcd(a,b) \gcd(a, b) 表示 a a b b 的最大公约数,即同时整除 a a b b 的最大整数 d d

例如:$\text{gcdSum}(762) = \gcd(762, 7 + 6 + 2) = \gcd(762, 15) = 3$。

给定一个整数 n n ,请你找到最小的整数 xn x \geq n ,使得 gcdSum(x)>1 \text{gcdSum}(x) > 1

输入格式

输入的第一行包含一个整数 t t 1t104 1 \leq t \leq 10^4 ),表示测试用例的数量。

接下来 t t 行,每行包含一个整数 n n 1n1018 1 \leq n \leq 10^{18} )。

同一组测试中的所有测试用例互不相同。

输出格式

输出 t t 行,第 i i 行输出第 i i 个测试用例的答案,即满足条件的最小整数。

说明/提示

下面解释样例中的三个测试用例。

测试用例 1:n=11 n = 11

$\text{gcdSum}(11) = \gcd(11, 1 + 1) = \gcd(11, 2) = 1$。

$\text{gcdSum}(12) = \gcd(12, 1 + 2) = \gcd(12, 3) = 3$。

所以,最小的 11 \geq 11 gcdSum>1 \text{gcdSum} > 1 的数是 12 12

测试用例 2:n=31 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$。

所以,最小的 31 \geq 31 gcdSum>1 \text{gcdSum} > 1 的数是 33 33

测试用例 3:n=75 n = 75

$\text{gcdSum}(75) = \gcd(75, 7 + 5) = \gcd(75, 12) = 3$。

75 75 gcdSum \text{gcdSum} 已经大于 1 1 ,因此答案就是 75 75

由 ChatGPT 4.1 翻译

样例

3
11
31
75
12
33
75

在线编程 IDE

建议全屏模式获得最佳体验