Cod sursa(job #1973122)
| Utilizator | Data | 24 aprilie 2017 15:35:14 | |
|---|---|---|---|
| Problema | Fractii | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
int N;
void cit(){
in>>N;
}
int cmmdc(int a, int b)
{
if((!a) || (!b)) return a+b;
if(a>b) return cmmdc(a%b,b);
return cmmdc(a,b%a);
}
int red(int N,int nr){
int counter = 0;
for(int i = 1; i <= N; i ++){
if(cmmdc(nr,i) == 1){
counter++;
}
}
return counter;
}
int F(int k){
if(k == 1){
return N;
}else{
return F(k-1) + red(N,k);
}
}
int main()
{ cit();
out<<F(N);
return 0;
}
