lina_os

Untitled

May 11th, 2025
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. #define ll long long
  4.  
  5. using namespace std;
  6.  
  7. vector<vector<ll>> sieve(ll n){
  8.     vector <bool> isPrime(n + 1, 1);
  9.     isPrime[0] = isPrime[1] = 0;
  10.  
  11.     vector<vector<ll>>v(n+1);
  12.     for(ll i = 2; i * i <= n; i++){
  13.         if(isPrime[i]){
  14.             for(ll j = i + i; j <= n; j += i) {
  15.                 isPrime[j] = false;
  16.                 v[j].push_back(i);
  17.             }
  18.         }
  19.     }
  20.     return v;
  21. }
  22.  
  23. ll nod(ll n) {
  24.     vector<ll>v;
  25.     ll x=n;
  26.     if (n==1) return 1;
  27.     for (int i=2; i*i<=x; i++) {
  28.         if (n%i==0) v.push_back(0);
  29.         while (n%i==0) {
  30.             n/=i;
  31.             v.back()++;
  32.         }
  33.         if (n==1) break;
  34.     }
  35.     if (n!=1) v.push_back(1);
  36.     ll ans=1;
  37.     for (auto i:v) ans*=(i+1);
  38.     return ans;
  39. }
  40. ll mod=1073741824;
  41.  
  42. ll add(ll a, ll b) {
  43.     return ((a%mod)+(b%mod))%mod;
  44. }
  45.  
  46. int main() {
  47.     ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
  48.     ll a,b,c;
  49.     cin >> a >> b >> c;
  50.     ll ans=0;
  51.     for (ll i=1; i<=a; i++) {
  52.         for (ll j=1; j<=b; j++) {
  53.             for (ll k=1; k<=c; k++) {
  54.                 ll x=nod(i*j*k);
  55.                 ans=add(ans,nod(i*k*j));
  56.             }
  57.         }
  58.     }
  59.     cout << ans << endl;
  60.     return 0;
  61. }
  62.  
  63. /*
  64.  */
Advertisement
Add Comment
Please, Sign In to add comment