CF1656D.K-good
普及+/提高
通过率:0%
时间限制:3.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
We say that a positive integer n is k-good for some positive integer k if n can be expressed as a sum of k positive integers which give k distinct remainders when divided by k.
Given a positive integer n, find some k≥2 so that n is k-good or tell that such a k does not exist.
我们称一个正整数 n 对某个正整数 k 是 k-好 的,如果 n 可以表示为 k 个正整数之和,且这 k 个正整数除以 k 所得的余数互不相同。
给定一个正整数 n,请找出某个满足 k≥2 的整数 k,使得 n 是 k-好的;若不存在这样的 k,则说明其不存在。
输入格式
The input consists of multiple test cases. The first line contains a single integer t (1≤t≤105) — the number of test cases.
Each test case consists of one line with an integer n (2≤n≤1018).
输入包含多个测试用例。第一行包含一个整数 t(1≤t≤105),表示测试用例的数量。
每个测试用例由一行组成,其中包含一个整数 n(2≤n≤1018)。
输出格式
For each test case, print a line with a value of k such that n is k-good (k≥2), or −1 if n is not k-good for any k. If there are multiple valid values of k, you can print any of them.
对于每个测试用例,输出一行,包含一个值 k,使得 n 是 k-好的(其中 k≥2);若 n 对任意 k 均不是 k-好的,则输出 −1。若存在多个合法的 k 值,输出其中任意一个即可。
输入输出样例
输入#1
5 2 4 6 15 20
输出#1
-1 -1 3 3 5
说明/提示
6 is a 3-good number since it can be expressed as a sum of 3 numbers which give different remainders when divided by 3: 6=1+2+3.
15 is also a 3-good number since 15=1+5+9 and 1,5,9 give different remainders when divided by 3.
20 is a 5-good number since 20=2+3+4+5+6 and 2,3,4,5,6 give different remainders when divided by 5.
6 是一个 3-好数,因为它可以表示为 3 个数的和,而这 3 个数除以 3 所得的余数互不相同:6=1+2+3。
15 也是一个 3-好数,因为 15=1+5+9,且 1,5,9 除以 3 所得的余数互不相同。
20 是一个 5-好数,因为 20=2+3+4+5+6,且 2,3,4,5,6 除以 5 所得的余数互不相同。
输入解题思路,AI测评打分。不知道怎么写?