poj1338
大致求法
#include<stdio.h>
int main()
{
long long p1,p2,p3,a,b,c,i,n,d[10000],t1,t2,t3;
scanf("%lld%lld%lld%lld",&p1,&p2,&p3,&n);
d[0]=1;
a=0;b=0;c=0;
for(i=1;i<=n;i++)
{
t1=d[a]*p1;
t2=d[b]*p2;
t3=d[c]*p3;
if(t1<=t2&&t1<=t3)
{
if(d[i-1]!=t1) d[i]=t1;
else i--;
a++;
}
else if(t2<=t1&&t2<=t3)
{
if(d[i-1]!=t2) d[i]=t2;
else i--;
b++;
}
else
{
if(d[i-1]!=t3) d[i]=t3;
else i--;
c++;
}
}
printf("%lld/n",d[n]);
return 0;
}