• Source
    1. #include<bits/stdc++.h>
    2.  
    3. using namespace std;
    4. int coins[25]={1,8,27,64,125,216,343,512,729,1000,1331,1728,2197,2744,3375,4096,4913,5832,6859,8000,9261};
    5. long long nways[10005];
    6. void init()
    7. {
    8. for(int i=0;i<21;i++)
    9. {
    10. for(int j=coins[i],k=0;j<=10005;j++,k++)
    11. {
    12. nways[j]+=nways[k];
    13. }
    14. }
    15. }
    16.  
    17. int main()
    18. {
    19. long long cubrency;
    20. nways[0]=1;
    21. init();
    22. while(scanf("%lld",&cubrency)==1)
    23. {
    24. printf("%lld\n",nways[cubrency]);
    25. }
    26. return 0;
    27. }
    28.