比赛 4043级NOIP2022欢乐赛8th 评测结果 AAAAAAAAAAAAAAAAAAAAAA
题目名称 反素数 最终得分 100
用户昵称 lihaoze 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2022-11-21 21:01:43
显示代码纯文本
#include "bits/stdc++.h"
 
using i64 = long long;
 
constexpr i64 prime[] = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 };
 
i64 n, ansNum, ansDiv;
 
void dfs(i64 num, i64 div, i64 now) {
    if (num > n || now > 10) 
        return;
    if (div > ansDiv) 
        ansDiv = div, ansNum = num;
    if (div == ansDiv && num < ansNum) 
        ansNum = num;
 
    for (i64 i = 1; num <= n; ++ i) {
        num *= prime[now];
        dfs(num, div * (1 + i), now + 1);
    }
}

int main() {
    freopen("ant.in", "r", stdin); 
    freopen("ant.out", "w", stdout);
    
    std::cin >> n;
 
    dfs(1, 1, 0);
 
    std::cout << ansNum << '\n';
    return 0;
}