CF#660 A - Captain Flint and Crew Recruitment

题意:将所给数字分成四个 不同的 正整数,其中至少有三个“近似质数”(两个不同的质数的乘积)。如果有多个结果,则输出其中一个即可。

题解:最小的四个近似质数为“6,10,14,15”

 

输入样例:

7
7
23
31
36
44
100
258

输出样例:

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 
#include 
#include 

using namespace std;

int main() {
    int t;
    cin >> t;
    for (int i = 1; i <= t; i++) {
        int m;
        cin >> m;
        if (m > 30) {
            if (m != 36 && m != 40 && m != 44) {
                printf("YES\n6 10 14 %d\n", m - 30);
            }
            else printf("YES\n6 10 15 %d\n", m - 31);
        }
        else printf("NO\n");
    }

    return 0;
}

 

你可能感兴趣的:(CF#660 A - Captain Flint and Crew Recruitment)