CF2020A.Find Minimum Operations
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个整数 n 和 k。
每次操作,你可以从 n 中减去 k 的任意次幂。具体来说,每次操作,你可以将 n 替换为 n−kx,其中 x 为任意非负整数。
请你求出将 n 变为 0 所需的最少操作次数。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
接下来每组测试用例占一行,每行包含两个整数 n 和 k(1≤n,k≤109)。
输出格式
对于每组测试用例,输出一个整数,表示将 n 变为 0 所需的最少操作次数,每个答案占一行。
输入输出样例
输入#1
6 5 2 3 5 16 4 100 3 6492 10 10 1
输出#1
2 3 1 4 21 10
说明/提示
在第一个测试用例中,n=5,k=2。我们可以按如下顺序进行操作:
- 从 5 中减去 20=1,此时 n 变为 5−1=4。
- 从 4 中减去 22=4,此时 n 变为 4−4=0。
可以证明,没有办法用少于 2 次操作将 n 变为 0,因此答案为 2。
在第二个测试用例中,n=3,k=5。我们可以按如下顺序进行操作:
- 从 3 中减去 50=1,此时 n 变为 3−1=2。
- 从 2 中减去 50=1,此时 n 变为 2−1=1。
- 从 1 中减去 50=1,此时 n 变为 1−1=0。
可以证明,没有办法用少于 3 次操作将 n 变为 0,因此答案为 3。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?