一个长方体,长宽高分别为x,y,z,都为自然数。
现在要把若干个相同的长方体摆成高为N的一根柱形体。
每层摆1个,如果两种摆法的高度是一样的,则认为这两种摆法等价,所以每层只有三种摆法。
求一共有多少种摆法。
第一行为一个数字N,N>=1且N<=100,表示要摆放的高度
第二行为长方体的长宽高,x、y、z都为无符号整数,按升序排列。
摆法总数,已知该总数会小于10000000
10 5 6 7
1
如果没有任何一种摆法可以达成目的,输出0
JS写的,内存超出限制,大佬们有空可以改改 var height =parseInt(readline()); var nums = readline(); var arr=nums.split(' '); var s=[]; let a=[]; for(var i=0;i<arr.length;i++){ s.push(parseInt(arr[i])); } //console.log(s); backUp(height,0,s,0); console.log(a[a.length-1]); function backUp(height,n,s,sum){ if(height<n){ return; } if(height===n){ sum++; a.push(sum); } if(height>n){ for(var i=0;i<3;i++){ backUp(height,n+s[i],s,sum); } } }