Cod sursa(job #2454368)

Utilizator MihclerioVladimir Chim Mihclerio Data 8 septembrie 2019 00:24:51
Problema Fractii Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<bits/stdc++.h>
 
#define all(s) s.begin(),s.end()
#define rc(x) return cout<<x<<endl,0
#define forn(i,n) for(int i=0;i<int(n);i++)
#define len(a) (int) (a).size()
 
#define pb push_back
#define mp make_pair
#define fr first
#define sc second
 
typedef long long ll;
typedef long double ld;
 
const int nmax=2e5+3;
const int mod=998244353;
const ll inf=0x3f3f3f3f3f3f3f3f;
 
/*===================*\
      comentarii:
\*===================*/
 
using namespace std;
 
int main()
{
  freopen("fractii.in","r",stdin);
  freopen("fractii.out","w",stdout);
  ios_base::sync_with_stdio(0); cin.tie(0);
 
  ll n,sol=0;
  cin>>n;
  for(int i=2;i<=n;i++)
  {
    
    ll x=i,nr=x,d=2;
    while(x!=1)
    {
      if(x%d==0)
      {
        nr/=d;
        nr*=(d-1);
        while(x%d==0) x/=d;
      }
      d++;
      if(d*d>x) d=x;
    }
    sol+=nr;
  }
  cout<<sol*2+1;
}