Cod sursa(job #2788171)
| Utilizator | Data | 25 octombrie 2021 10:45:17 | |
|---|---|---|---|
| Problema | Fractii | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int N, cnt=0;
int x[20];
int cmmdc(int a, int b)
{
while(a!=b)
{
if(a>b)
a=a-b;
else
b=b-a;
}
return b;
}
int valid(int k)
{
for(int i=1;i<k;i++)
if(cmmdc(x[i], x[k])!=1)
return 0;
return 1;
}
void back(int k)
{
for (int i = 1; i <= N; i++)
{
x[k] = i;
if (valid(k))
if (k == 2)
cnt++;
else
back(k + 1);
}
}
int main()
{
fin >> N;
back(1);
fout << cnt;
return 0;
}
