JavaScript の楽しい質問: 家を建てる

黄舟
リリース: 2017-02-15 14:11:36
オリジナル
1734 人が閲覧しました

Nの床を持つ家を建てる予定です。その設計図は次のとおりです:

一番下の階の体積は

N3乗で、最後から2番目の床の体積はです。 ( N-1) の 3 乗など、最上層の体積は 1 3 乗です。 ここで問題が発生します。さまざまな要因により、デザイナーは総量を

M

に制限することにしました。 この家を建てるのに

M

のサイズがちょうど良いという可能性はありますか? それ以上でもそれ以下でもありませんのでご了承ください。

できればレイヤー数

N

を返してください。
関数のプロトタイプは次のとおりです:

findNb (M)


戻り値は整数です。それができない場合は、

-1

を返してください。

findNb(1071225) // --> 45层
findNb(91716553919377) // --> -1
ログイン後にコピー

アイデア:

総体積

M

を与えてから、最上層から始めて、M<=0になるまで各層の体積を順番に減算します。

0

に等しい場合、つまり家を建てることができ、階数が返されます。 が負の数の場合、音量

M

が不適切であることを意味し、-1が返されます。

function findNb(m) {
    var nb = 1;
    while(m > 0){
        m -= Math.pow(nb++,3);
    }
    return m == 0 ? nb - 1 : -1;
}
ログイン後にコピー

上記は JavaScript の興味深い質問です: 家を建てる 関連コンテンツの詳細については、PHP 中国語 Web サイト (www.php.cn) に注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!