I was solving this problem. But something wrong in the code that I am getting TLE. And I had a limitation of 10^12.
Is my code of assert right?
#include <iostream>
#include <assert.h>
using namespace std;
int count_divisor(long long int number){
long long int count = 0;
for(long long int i = 1; i <= number; i++){
if(number%i == 0){
count++;
}
}
return count;
}
int main(){
long long int test_case, i = 1;
long long int numbers;
cin >> test_case;
//assert(test_case >= 1 && test_case <= 100000);
while(i <= test_case){
cin >> numbers;
//assert(numbers >= 1 && numbers <= 1000000000000);
if(count_divisor(numbers) == 3){
cout << "YES" << endl;
}
else{
cout << "NO" << endl;
}
i++;
}
return 0;
}