我们的目标是找到一个长度 k 最小(且 k≥2)的数组,其元素之和为 n,且元素均为 1 或合数。为了让数组长度 k 最小,我们应该尽可能让数组中的元素值更大。
一个自然的想法是,我们能否总是用 2 个或 3 个数来表示 n?我们从最小可能的长度 k=2 开始分析,然后考虑 k=3 等情况,并根据 n 的奇偶性进行分类讨论。
1. 尝试 k=2
我们希望将 n 分解为 n=a1+a2,其中 a1 和 a2 都是1 或合数。
给定一个正整数 n 。请你找到一个长度至少为 2 的数组 a .使得数组 a 中仅含 1 和合数,且 a 中所有元素的和为 n 。如果有多个满足条件的 a ,请输出长度最短的。如果有多个长度最短的 a ,你可以输出任意一个。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
每个测试文件均包含多组测试数据,第一行输入一个整数 T(1≤T≤103) 代表数据组数;每组测试规则描述如下:
输入一行一个正整数 n(2≤n≤1018) .
对于每组测试数据,先输出一行一个正整数 k ,表示 a 的长度,在第二行输出 k 个整数,表示 a 中的元素。如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
输入
3
8
10
2
输出
2
4 4
2
1 9
2
1 1