Pagini recente » Cod sursa (job #1520720) | Cod sursa (job #1245311) | Cod sursa (job #49820) | Cod sursa (job #1143780) | Cod sursa (job #2238513)
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
vector<pair<int,int> > descompunereFactoriPrimi(int n){
vector<pair<int,int> > desc;
int d=2;
while(n>1){
int contor=0;
while(n%d==0){
contor++;
n/=d;
}
if(contor>0){
desc.push_back(make_pair(d,contor));
}
d++;
}
return desc;
}
int formulaForOne(int n){
vector<pair<int,int> >desc;
int result=1;
desc=descompunereFactoriPrimi(n);
for(int i=0;i<desc.size();++i)
result*=(desc[i].first-1)*pow(desc[i].first,desc[i].second-1);
return result;
}
int result(int n){
int s=0;
for(int i=2;i<=n;++i){
s+=formulaForOne(i)*2;
}
return s+1;
}
int main()
{
int n;
in>>n;
out<<result(n);
return 0;
}