Pagini recente » Cod sursa (job #3169760) | Cod sursa (job #2386497) | Cod sursa (job #1990518) | Cod sursa (job #2438497) | Cod sursa (job #1396877)
#include <fstream>
#define dim 10000
using namespace std;
ifstream fin("desc.in");
ofstream fout("desc.out");
int n,k,i,j,d[dim][dim],nrdiv,div[dim];
int cautare(int x)
{
int st=1,dr=nrdiv,mij;
while(st<=dr)
{
mij=(st+dr)/2;
if(div[mij]>x)
dr=mij-1;
else
if(div[mij]<x)
st=mij+1;
else
return mij;
}
}
int main()
{
fin>>n>>k;
for(i=2;i<=n;i++)
if(n%i==0)
div[++nrdiv]=i;
for(i=1;i<=nrdiv;i++)
{
d[i][i]=1;
d[i][0]=1;
for(j=i-1;j>=1;j--)
{
d[i][j]=d[i][j+1];
if(div[i]%div[j]==0)
{
d[i][j]+=d[cautare(div[i]/div[j])][j];
d[i][0]+=d[i][j];
}
}
}
fout<<d[nrdiv][1];
}