zoukankan      html  css  js  c++  java
  • LibreOJ

    int prime[maxn];   
    int vis[maxn];     
    int euler_sieve(int n) {
        int cnt = 0;
        vis[1] = 1;
        for (int i = 2; i <= n; i++) {
            if (!vis[i]) prime[cnt++] = i;
            for (int j = 0; j < cnt; j++) {
                if (i * prime[j] > n) break;
                vis[i * prime[j]] = 1;
                if (i % prime[j] == 0) break;
            }
        }
        return cnt;  
    }
    
    
    int main() {
        int cnt = euler_sieve(1000002);
        unordered_map<int, ll> mp;
        int n = readint();
        for (int i = 1; i <= n; i++){
            if (!vis[i]) {
                mp[i]++;
                continue;
            }
            ll tmp = i;
            for (int j = 0; j < cnt && (ll)prime[j] * prime[j] <= tmp; j++) {
                if (tmp % prime[j] == 0) while (tmp % prime[j] == 0) mp[prime[j]]++, tmp /= prime[j];
            }
            if (tmp > 1) mp[tmp]++;
        }
        ll res = 1ll;
        for (auto it = mp.begin(); it != mp.end(); it++) 
            res = res * ((1ll + 2 * it->second) % MOD) % MOD;
        Put(res);
    }
  • 相关阅读:
    Go map 切片
    Go map 增删改查和遍历
    Go map 基本使用
    Go 二维数组
    Go 切片
    Go 数组
    Go 错误处理 defer recover panic
    Go time模块
    5分钟入门MP4文件格式
    写盘工具
  • 原文地址:https://www.cnblogs.com/hznumqf/p/13479820.html
Copyright © 2011-2022 走看看