虽然自己另写了别的思路的代码A掉了这题,但是还是很想知道为啥这份代码会T,什么数据能把这份代码卡掉
TLE :#9 #11
感谢!
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long Q;
cin >> Q;
long long s = 0, p1 = 0, p2 = 0;
for (long long i = 2, j = 1, T = Q; i <= Q && s < 3; ++i, ++j)
{
if (j * j > T && s == 0) break;
while (Q % i == 0)
{
++ s, Q /= i;
if (s == 3) break;
if (!p1) p1 = i;
else if (!p2) p2 = i;
}
}
if (s <= 1) printf("1\n0");
else if (s <= 2) puts("2");
else { puts("1"); printf("%lld", p1 * p2);}
return 0;
}