#CYF0049. 数字游戏(近似素数)
数字游戏(近似素数)
题目背景
这里我们创造出一类新的数字,名字叫做【近似素数】,该数字规定如果 为【近似素数】,那么该数字必定可以满足以下两个条件:
-
-
,并且 为素数。
比如:整数 和 , ,其中 , 为素数。
题目描述
现在给定一个 ,请判断 是否可以表示成 个不同数字的和,并且其中 个数字是【近似素数】。
输入格式
输入多行。
第一行输入一个 ,代表有 组测试数据。
对于每一组测试数据,一行输入一个正整数 。
输出格式
输出多行。
对于每一组测试数据,按照以下方式输出:
-
如果 不是【近似素数】,直接输出
No
即可。 -
如果 是【近似素数】,需要输出
Yes
,然后在第二行输出 拆成的 个数字(这四个数字需要满足题目所说)。 -
:对于 是【近似素数】的情况,拆成的 个数字可能性有很多,输出的结果请保证其中的这 个【近似素数】最小,并且需要按照从小到大的顺序输出。
-
关于最小指的是:数字 其实也可以拆成
6 7 10 21
,也可以拆成6 10 13 15
,但是很明显后面的三个【近似素数】6 10 15
相比6 10 21
更小。
样例 #1
样例输入 #1
4
7
23
31
36
样例输出 #1
No
No
Yes
1 6 10 14
Yes
5 6 10 15
提示
样例解释】:
-
对于第一个和第二个样例,找不到符合题意的答案。
-
对于第三个样例, ,其中 是【近似素数】,所以满足题意。
数据范围】:
测试点编号 | ||
---|---|---|
01 ~ 10 |
||
11 ~ 15 |
||
16 ~ 20 |
对于 的数据,保证 。