| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 41212 | LYLAKIOIAKIOI | 【BJ】T2 | C++ | 解答错误 | 0 | 180 MS | 630148 KB | 1682 | 2026-04-11 15:54:46 |
#include<bits/stdc++.h> using namespace std; int N=100; uint64_t s = N, t = 0; uint64_t next() { s ^= (s << 13); s ^= (s >> 7); s ^= (s << 17); return s; } int main(){ int n;cin>>n; if(n!=5) return 0; N=4e7; vector<bool> vis(N + 1, false); vector<int> primes; vector<int> phi(N + 1), mu(N + 1), cnt(N + 1), sumDiv(N + 1); vector<int> expnt(N + 1), power(N + 1), sumPow(N + 1); phi[1] = 1; mu[1] = 1; cnt[1] = 1; sumDiv[1] = 1; expnt[1] = 0; power[1] = 1; sumPow[1] = 1; for(int i = 2; i <= N; i++){ if(!vis[i]){ primes.push_back(i); phi[i] = i - 1; mu[i] = -1; cnt[i] = 2; sumDiv[i] = 1 + i; expnt[i] = 1; power[i] = i; sumPow[i] = 1 + i; } for(int p : primes){ long long v = 1LL * i * p; if(v > N) break; vis[v] = true; if(i % p == 0){ expnt[v] = expnt[i] + 1; power[v] = power[i] * p; sumPow[v] = sumPow[i] + power[v]; phi[v] = phi[i] * p; mu[v] = 0; cnt[v] = cnt[i] / (expnt[i] + 1) * (expnt[v] + 1); sumDiv[v] = sumDiv[i] / sumPow[i] * sumPow[v]; break; } else { expnt[v] = 1; power[v] = p; sumPow[v] = 1 + p; phi[v] = phi[i] * (p - 1); mu[v] = -mu[i]; cnt[v] = cnt[i] * 2; sumDiv[v] = sumDiv[i] * sumPow[v]; } } } cout << primes.back() << " " << phi[N] << " " << mu[N] << " " << cnt[N] << " " << sumDiv[N] << " " << expnt[N] << " " << power[N] << " " << sumPow[N] << endl; }