Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma comment(linker, "/STACK:256000000")
- #define _CRT_SECURE_NO_WARNINGS
- #define _CRT_SECURE_NO_DEPRECATE
- #include<iostream>
- #include<cstdio>
- #include<cstdlib>
- #include<string>
- #include<cstring>
- #include<algorithm>
- #include<cmath>
- #include <set>
- #include <queue>
- #include <map>
- #include <vector>
- #include <unordered_map>
- #include <assert.h>
- using namespace std;
- #define mp make_pair
- #define pub push_back
- #define con continue
- #define forn(i, n) for (int i = 0; i < int(n); ++i)
- #define fornr(i, n) for (int i = n - 1; i >= 0; --i)
- #define forab(i, a, b) for (int i = (a); i <= int(b); ++i)
- typedef long long ll;
- typedef long double ld;
- typedef pair <int, int> pii;
- typedef vector <int> vi;
- typedef vector < pii > vii;
- typedef vector < vector < int> > vvi;
- typedef vector < vector < pair < int, int > > > vvii;
- const int ZEROS = (int)(1E+5 * 2 + 100);
- const int INF = (int)1E+9;
- const long double EPS = 1E-18;
- const int PMAX = 60;
- int b[PMAX + 10];
- ll pw(ll a, ll p) {
- ll ans = 1;
- forn(i, p) {
- ans *= a;
- }
- return ans;
- }
- int k_in_x(ll x) {
- if (x == 0)
- return 0;
- if (x == 1)
- return 1;
- forn(i, PMAX)
- b[i] = 0;
- ll ans = 0;
- //all p
- for (int p = PMAX; p >= 2; --p) {
- long double s = long double(1.0 / p);
- long double kk = pow(x, s);
- ll k = (ll)kk;
- if (pw((k + 1), p) <= x)
- k++;
- int r = 0;
- if (p == 6)
- r++;
- if (k > 1) {
- ans += k;
- //all del
- for (int i = 2; i * i <= p; ++i) {
- if (p % i == 0) {
- b[i] += k;
- if (i * i != p)
- b[p / i] += k;
- }
- }
- }
- }
- for (int i = 0; i <= PMAX; ++i)
- ans -= b[i];
- return ans;
- }
- void solve() {
- ll L, R;
- cin >> L >> R;
- ll ansL = k_in_x(L - 1), ansR = k_in_x(R);
- cout << ansL << " " << ansR << endl;
- cout << ansR - ansL << endl;
- }
- int main() {
- #ifdef _DEBUG
- freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout);
- #endif
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- int Q;
- cin >> Q;
- forn(q, Q)
- solve();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement