QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#380586 | #8508. DiviDuelo | Ganny | WA | 0ms | 3604kb | C++14 | 1.4kb | 2024-04-07 06:15:43 | 2024-04-07 06:15:44 |
Judging History
answer
#include <iostream>
#include <vector>
using namespace std;
vector<pair<long long, int>> factorizacionPrima(long long numero) {
vector<pair<long long, int>> factoresPrimos;
for (long long i = 2; i * i <= numero; ++i) {
if (numero % i == 0) {
int exponente = 0;
while (numero % i == 0) {
++exponente;
numero /= i;
}
factoresPrimos.emplace_back(i, exponente);
}
}
if (numero > 1) {
factoresPrimos.emplace_back(numero, 1);
}
return factoresPrimos;
}
bool sumaExponentesEsPar(const vector<pair<long long, int>>& factoresPrimos) {
int sumaExponentes = 0;
for (const auto& factor : factoresPrimos) {
sumaExponentes += factor.second;
}
return sumaExponentes % 2 == 0;
}
int main() {
long long numero;
cin >> numero;
vector<pair<long long, int>> factoresPrimos = factorizacionPrima(numero);
bool sumaEsPar = sumaExponentesEsPar(factoresPrimos);
for (const auto& factor : factoresPrimos) {
cout << factor.first << "^" << factor.second << " ";
}
if (factoresPrimos.size()%2==0 && numero != 1){
cout << "Y" << endl;
}else if (!sumaEsPar && factoresPrimos.size()<2){
cout << "Y" << endl;
}else{
cout << "N" << endl;
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3604kb
input:
10
output:
2^1 5^1 Y
result:
wrong answer 1st words differ - expected: 'Y', found: '2^1'