CF870C Maximum splitting
题目描述
给定若干查询,第 $i$ 个查询给定一个正整数 $n_i$。你需要将 $n_i$ 表示为最多数量的合数加数之和,并输出该最大加数数量。如果不能进行这样的拆分,输出 $-1$。
大于 $1$ 的整数是合数,当且仅当它不是质数,也就是说它有除了 $1$ 和自身之外的正因数。
输入格式
第一行包含一个整数 $q$($1 \leq q \leq 10^5$),表示查询数量。
接下来有 $q$ 行,第 $i+1$ 行包含一个正整数 $n_i$($1 \leq n_i \leq 10^9$),为第 $i$ 个查询。
输出格式
对于每个查询,输出一个整数,表示将该数拆分为合数加数的最大可能数量;如果不能进行拆分,输出 $-1$。
说明/提示
例如,$12=4+4+4=4+8=6+6=12$,但第一种拆分方式有最多的加数数量。
$8=4+4$;而 $6$ 不能拆分成多个合数加数。
$1,2,3$ 都小于任意合数,所以它们没有有效的拆分方式。
由 ChatGPT 5 翻译