Cod sursa(job #2582312)

Utilizator Katherine456719Swan Katherine Katherine456719 Data 16 martie 2020 16:27:31
Problema Frac Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
using namespace std;
int divi(long long a,long long b)
{
    long long r;
    if(a<b)
        swap(a,b);
    while(b!=0)
    {
        r=b;
        b=a%b;
        a=r;
    }
    return a;
}
void cautare(long long &pred,long long n)
{
    long long r=pred;
    for(int p=0; p<=29; p++)
        if(divi(r+(1<<p),n)==1 and r+(1<<p)>pred)
        {
            r+=(1<<p);
            break;
        }
    pred=r;
}
int main()
{
    ifstream cin("frac.in");
    ofstream cout("frac.out");
    long long n,k,pred=1;
    cin>>n>>k;
    for(int i=1; i<k; i++)
        cautare(pred,n);
    cout<<pred;
    return 0;
}