main
黄海 2 years ago
parent 2ccb4ee365
commit 4d2a507d94

@ -5,11 +5,12 @@ using namespace std;
const int N = 110;
/*
mu-mu[i]
15MS
mu ****
mu[i]
15MS
*/
// 筛法求莫比乌斯函数
int mu[N], primes[N], cnt;
@ -37,11 +38,12 @@ signed main() {
// 筛法求莫比乌斯函数
get_mobius(N - 1);
int T;
while (cin >> T) {
int n;
while (cin >> n) {
int s = 1;
for (int i = 2; i <= 64; i++) s -= mu[i] * (int)(pow(T * 1.0, 1.0 / i) - 1);
// 对于1e18次方的话最多就是2的64次方,逐个枚举2的i次方
for (int i = 2; i <= 64; i++)
s -= mu[i] * (int)(pow(n, 1.0 / i) - 1);
cout << s << endl;
}
}
Loading…
Cancel
Save