Cod sursa(job #878682)
Utilizator | Data | 14 februarie 2013 18:07:35 | |
---|---|---|---|
Problema | Frac | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.34 kb |
#include<iostream>
#include<fstream>
using namespace std;
int cmmdc(int a,int b)
{while(a!=b)
if(a>b)a-=b;else b-=a;
return a;
}
int main()
{
int n,p,i,c=0,d[50];
ifstream f("frac.in");
ofstream g("frac.out");
f>>n>>p;
for(i=1;i<=n;i++)if(cmmdc(n,i)==1){c++;d[c]=i;}
if(p%c==0)g<<d[c]+(p/c-1)*n;else g<<d[p%c]+(p/c)*n;
return 0;}