Nous prévoyons de construire une maison avec N étages. Son plan de conception est le suivant :
Le volume de l'étage inférieur est N3. ième puissance, le volume de l'avant-dernière couche est (N-1) élevé à la puissance 3, et ainsi de suite, le volume de la couche supérieure est 1 élevé à la puissance 3.
Vient maintenant le problème. En raison de divers facteurs, le concepteur a décidé de limiter le volume total à M.
Est-il possible que le volume M soit parfait pour construire cette maison ?
Attention, ni plus, ni moins.
Si possible, veuillez renvoyer le numéro de couche N.
Le prototype de la fonction est le suivant :
findNb (M)
La valeur de retour est un entier Si c'est le cas. ne peut pas être fait, veuillez retourner -1.
findNb(1071225) // --> 45层 findNb(91716553919377) // --> -1
Idée :
J'ai donné le volume total M, puis commencer par le haut et soustraire chacun Le volume d'une couche jusqu'à M<=0. Si
est égal à 0, c'est-à-dire que la maison peut être construite et le nombre d'étages est renvoyé. Si
est un nombre négatif, cela signifie que le volume M est inapproprié et -1 est renvoyé.
function findNb(m) { var nb = 1; while(m > 0){ m -= Math.pow(nb++,3); } return m == 0 ? nb - 1 : -1; }
Ce qui précède est le contenu de questions JavaScript intéressantes : construire une maison. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !