살구의 개발자 첫걸음을 위한
#include 2using namespace std;34long long d[101];5int main(void) {6 int t;7 cin >> t;8 d[1] = 1;9 d[2] = 1;10 d[3] = 1;11 d[4] = 2;12 while (t--) {13 int n;14 cin >> n;15 for (int i = 5; i
#include using namespace std; int d[31];int main(void){ int n; cin >> n; // d[n]=3*d[n-2]+2*d[n-4]+2*d[n-6]+...+2*d[0] d[0]=1; d[2]=3; for(int i=4;i
d[n] : n을 n보다 작은 제곱수들의 합으로 나타냈을 때, 최소항의 개수 n을 n보다 작은 제곱수들의 합으로 나타내면 n = ? + ? + ? + x^2 마지막 항이 1^2, 2^2, 3^2, ..., x^2 이 나올 수 있다. 이 때, d[n] = min(d[n-x^2] + 1) 이 된다. 여기서 x^2 n; for(int i=1;i