CodeForces - 1388A

题目大意:给出一个数n,该数由大于0的四个不同数组成,其中有三个数需满足 每个数都由两个不等的质数相乘 构成,若能找到的四个数,输出YES,以及这四个数,若不行,输出NO.

Input
7
7
23
31
36
44
100
258
Output
NO
NO
YES
14 10 6 1
YES
5 6 10 15
YES
6 7 10 21
YES
2 10 33 55
YES
10 21 221 6
#include <stdio.h>
int main(){
    int t,n,a,b,c,d;
    scanf("%d",&t);
    while(t--){
        scanf("%d",&n);
        a=6;//2*3
        b=10;//2*5
        c=14;//2*7
        d=a+b+c;
        d=n-d;
        if(d==a||d==b||d==c){
            c=15,d-=1;//15=3*5
            printf("YES\n");
            printf("%d %d %d %d\n",a,b,c,d);
        }else if(d>0){
            printf("YES\n");
            printf("%d %d %d %d\n",a,b,c,d);
        }else printf("NO\n");
    }
    return 0;
}

 

posted @ 2020-08-05 21:41  remarkableboy  阅读(111)  评论(0编辑  收藏  举报