QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#380592#8508. DiviDueloGannyCompile Error//C++141.4kb2024-04-07 06:19:122024-04-07 06:19:13

Judging History

This is the latest submission verdict.

  • [2024-04-07 06:19:13]
  • Judged
  • [2024-04-07 06:19:12]
  • Submitted

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()<3){
        cout << "Y" << endl;
    }else{
        cout << "N" << endl;
    }

Details

answer.code: In function ‘int main()’:
answer.code:50:6: error: expected ‘}’ at end of input
   50 |     }
      |      ^
answer.code:32:12: note: to match this ‘{’
   32 | int main() {
      |            ^