素数判断
#include <bits/stdc++.h>
using namespace std;
int n, T;
bool isprime(int n)//普通的判断素数
{
bool f = true;
for(int i = 2; i <= n / i; i ++)
if(n % i == 0)
{
f = false;
break;
}
return f;
}
int main()
{
cin >> T;
while(T --)
{
cin >> n;
if(isprime(n))
{
cout << "isprime" << endl << n << endl;
}
else
{
cout << "noprime" << endl;
for(int i = 2; i <= n / i; i ++)//分解质因数
{
if(n % i == 0)
{
cout << i << ' ';
while(n % i == 0) n /= i;
}
}
if(n > 1) cout << n << endl;
else cout << endl;
}
}
return 0;
}