Pagini recente » Cod sursa (job #269611) | Cod sursa (job #239606) | Cod sursa (job #922027) | Cod sursa (job #1321813) | Cod sursa (job #2559209)
#include <fstream>
#include <vector>
#include <algorithm>
#include <unordered_map>
#define N 4095
using namespace std;
ifstream f ( "desc.in" );
ofstream g ( "desc.out" );
unordered_map < int, int > h;
int d[N][N], v[N];
int main()
{ int l = 0, div, n, k, i, j;
f >> n >> k;
for ( div = 1; div * div < n; div++ ){
if ( n % div == 0 ){
v[++l] = div;
v[++l] = n / div;
}
}
if ( div * div == n )
v[++l] = div;
sort ( v + 1, v + l + 1 );
for ( i = 1; i <= l; i++ )
h[v[i]] = i;
d[1][1] = 1;
for ( i = 2; i <= l; i++ ){
d[i][i] = 1;
for ( j = i - 1; j >= 2; j-- ){
d[i][j] = d[i][j + 1];
if ( v[i] % v[j] == 0 ){
div = v[i] / v[j];
int poz = h[div];
d[i][j] += d[poz][j];
}
}
d[i][1] = d[i][2];
}
g << d[l][1];
return 0;
}