Pagini recente » Cod sursa (job #1651553) | Cod sursa (job #2629656) | Cod sursa (job #1160913) | Cod sursa (job #723678) | Cod sursa (job #1802227)
#include <iostream>
#include <stdio.h>
#define ll long long
using namespace std;
ll N, P;
ll last = 0;
ll dc(ll N1, ll m){
ll cnt = 0;
ll cnt2 = 0;
for(ll k = 2; k<=m; k++){
cnt = 0;
for(ll i=2; i<=min(N1, k); i++){
if(N1 % i == 0 && k % i == 0){
cnt++;
}
}
if(cnt==0){
cnt2++;
last = k;
}
}
return cnt2+1;
}
void cautBin(ll st, ll dr, ll N, ll P){
ll m = (st+dr)/2;
if( P == dc(N, m)){
cout << last ;
return;
}
/*
if(st > dr){
return;
}
if(st==dr){
cout << m;
return;
}*/
if( P < dc(N, m))
cautBin(st, m-1, N, P);
else
cautBin(m+1, dr, N, P);
}
int main(){
freopen("frac.in", "r", stdin);
freopen("frac.out", "w", stdout);
cin >> N >> P;
cautBin(0, 1LL << 10, N, P);
return 0;
}