1 条题解

  • 1
    @ 2023-9-30 13:05:11

    太裤啦

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    typedef long long ll;
    ll get_oula(int x)
    {
        ll ans = x;
        for(int i = 2;i <= x / i;i++)
        {
            if(x % i == 0) ans = 1ll * ans / i * (i - 1);
            while(x % i == 0) x /= i;
        }
        if(x > 1) ans = ans / x * (x - 1);
        return ans;
    }
    int main()
    {
        int n;scanf("%d",&n);
        ll ans = 0;
        for(int d = 1;d <= n / d;d++)
        {
            if(n % d == 0)
            {
                ans += 1ll * (n / d) * get_oula(d);
                int c = n / d;
                if(d != c) ans += 1ll * d * get_oula(c);
            }
        }
        cout << ans << endl;
        return 0;
    }
    
    
    • @ 2023-10-15 18:05:09

      哟西,大大的好

  • 1

信息

ID
132
时间
1000ms
内存
128MiB
难度
8
标签
递交数
12
已通过
9
上传者