fork(1) download
  1. #include <iostream>
  2. #include <math.h>
  3. #include <bits/stdc++.h>
  4. using namespace std;
  5.  
  6. #define ll long long
  7.  
  8. vector <ll> v;
  9.  
  10. int main()
  11.  
  12. {
  13. ll l, r, x, y;
  14. cin >> l >> r >> x >> y;
  15. ll sqt = sqrt(y);
  16.  
  17. ll cnt = 0, mns = 0;
  18. for(ll i = 1; i <= sqt; i++) {
  19. if(y % i != 0)
  20. continue;
  21. ll d = y / i;
  22. if(d < l || d > r || i < l || i > r)
  23. continue;
  24. //cout << i << " " << d << endl;
  25. v.push_back(i);
  26. if(d != i)
  27. v.push_back(d);
  28. }
  29.  
  30. for(ll i = 0; i < v.size(); i++) {
  31. for(ll j = 0; j < v.size(); j++) {
  32. if(__gcd(v[i], v[j]) != x)
  33. continue;
  34. ll lcm = (v[i] * v[j]) / x;
  35. if(lcm != y)
  36. continue;
  37. cnt++;
  38. }
  39. }
  40.  
  41. cout << cnt << endl;
  42. return 0;
  43. }
Success #stdin #stdout 0s 4372KB
stdin
1 12 1 12


stdout
4