fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. vector<long long> licz;
  5. vector<long long> pre;
  6.  
  7. int main() {
  8. ios_base::sync_with_stdio(0);
  9. long long n,a,b,c = 1,gdzie;
  10. for(long long i = 1;c <= 10000000000000;++i)
  11. {
  12. c *= i;
  13. licz.push_back(c);
  14. gdzie = licz.size()-2;
  15. for(long long j = 0;j <= gdzie;++j)
  16. {
  17. licz.push_back(licz[j]+c);
  18. }
  19. }
  20. //cout << licz.size();
  21. pre.push_back(0);
  22. for(long long i = 0;i < licz.size();++i)
  23. {
  24. pre.push_back(pre.back()+licz[i]);
  25. }
  26. cin >> n;
  27. int l,p;
  28. for(int i = 0;i < n;++i)
  29. {
  30. cin >> a >> b;
  31. l = lower_bound(licz.begin(),licz.end(),a)-licz.begin()+1;
  32. p = upper_bound(licz.begin(),licz.end(),b)-licz.begin();
  33. //cout << l << ' ' << p << ' ';
  34. cout << pre[p]-pre[l-1] << endl;
  35. }
  36. return 0;
  37. }
Success #stdin #stdout 0.01s 5272KB
stdin
4
100 150
700 750
5000 5050
999995 1000000000000
stdout
1728
9528
40356
769460269287168