Pagini recente » Cod sursa (job #2163139) | Cod sursa (job #1836926) | Cod sursa (job #117127) | Cod sursa (job #2503291) | Cod sursa (job #2638791)
#include <fstream>
using namespace std;
ifstream fin( "sandokan.in" );
ofstream fout( "sandokan.out" );
const int MaxN = 5001;
long long comb[MaxN][2];
int NchooseK( int n, int k ) {
int t = 0;
for ( int i = 1; i <= n; ++i ) {
comb[0][1 - t] = 1;
for ( int j = 1; j <= k; ++j ) {
comb[j][t] = comb[j][1 - t] + comb[j - 1][1 - t];
}
t = 1 - t;
}
if ( n == 0 ) {
return 1;
}
return comb[k][1 - t];
}
int main() {
int n, k, cp, c;
fin >> n >> k;
cp = k;
c = n;
while ( n >= k ) {
n = n / k + n % k;
}
k = n;
n = c - cp;
fout << NchooseK( n, k );
fin.close();
fout.close();
return 0;
}