Maison >interface Web >js tutoriel >Question amusante JavaScript : Construire une maison

Question amusante JavaScript : Construire une maison

黄舟
黄舟original
2017-02-15 14:11:361799parcourir

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) !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn