题目
Description
给你一个数字,问是否能分解成两个合数的乘积。
Format
Input
第一行为t( 1 ≤ t ≤ 100 1\leq t\leq100 1≤t≤100),表示测试数据组数。 接下来t行,每行一个正整数x。
Output
对于每个输入数据x,如果可以分解成两个合数的乘积就输出"cow",否则输出"no"。
Samples
输入数据 1
2
15
36
输出数据 1
no
cow
提示
15只能分解成35,这两个数字都是质数。但36可以分解成49,4和9都为合数。
思路+CODE
15个测试点TLE1个 (教练太坑了 )
最朴素的算法:因为是求能否分解成两个合数的乘积,其实就是求这个数是否有4个及以上个质因子。所以直接枚举质因子,之后就判断。
CODE:
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll yue(ll a){
ll sum=0;
for(ll i=2;i<=sqrt(a);i++)
w