CodeForces

题目大意:给出一个数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
");
            printf("%d %d %d %d
",a,b,c,d);
        }else if(d>0){
            printf("YES
");
            printf("%d %d %d %d
",a,b,c,d);
        }else printf("NO
");
    }
    return 0;
}
原文地址:https://www.cnblogs.com/iloveysm/p/13442957.html