1 solutions

  • 0
    @ 2025-11-5 16:27:00

    C++ :

    #include<cstdio>
    #define LL long long
    const int maxn=10000001;
    LL n,ans,s[maxn];
    bool b[maxn]={0};
    int main()
    {
        scanf("%lld",&n);
        for(int i=1;i<=n;i++) s[i]=i;
        for(int i=2;i<=n;i++)
    	{
    		s[i]+=s[i-1];
            if(!b[i]) 
            {
            	s[i]--;
                for(int j=i<<1;j<=n;j+=i) s[j]=(s[j]/i)*(i-1),b[j]=1;
            }
        }
        for(int i=2;i<=n;i++) if(!b[i]) ans+=(s[n/i]<<1)-1;
        printf("%lld",ans);             
    }
            
    
    • 1

    Information

    ID
    17780
    Time
    2000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By