题目描述如下
:
代码如下:
#include <stdio.h> unsigned long long int dp[10001] ; int main (){ int i,j ,k ; int v[22]; int n ; for (i = 1 ; i < 22 ; i ++) v[i] = i*i*i ; dp [0] = 0 ; for ( i = 1 ; i <=21 ; i ++ ){ for ( j = 0 ; j<10001 ; j ++ ){ if ( j>=v[i] && i>1 ) dp[j] = dp[j] + dp[ j -v[i] ]; if ( i == 1){ dp[j] = 1; } } } while (scanf ("%d",&n)!=EOF){ printf ("%llu\n" , dp[n]); } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-10 20:52:19