95pts求助
查看原帖
95pts求助
235561
samzhangjy楼主2022/7/28 18:03

rt,不知道哪错了,#3一直WA

代码:

// Problem: P2092 数字游戏
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P2092
// Memory Limit: 125 MB
// Time Limit: 1000 ms
//
// Powered by CP Editor (https://cpeditor.org)

#include <memory.h>

#include <algorithm>
#include <cmath>
#include <cstdio>
#include <iostream>
#include <queue>
#include <stack>
#include <string>
#include <vector>
using namespace std;
const int N = 1e6 + 10;

long long Q;
bool is_only_prime = 1;
long long prime_a = -1, prime_b = -1;

bool is_prime(long long x) {
    if (x == 1 || x == 0) return 1;
    for (long long i = 2; i <= sqrt(x); i++) {
        if (x % i == 0) return 0;
    }
    return 1;
}

int main() {
    cin >> Q;
    for (long long i = 2; i * i <= Q; i++) {
        while (Q % i == 0) {
            if (prime_a == -1)
                prime_a = i;
            else if (prime_b == -1)
                prime_b = i;
            Q /= i;
        }
    }
    if (prime_a == -1 && prime_b == -1) {
        cout << 1 << endl << 0 << endl;
        return 0;
    }
    if (prime_a != -1 && prime_b == -1) {
        cout << 2 << endl;
        return 0;
    }
    cout << 1 << endl << prime_a * prime_b << endl;
    return 0;
}

谢谢orz

2022/7/28 18:03
加载中...