JavaScript の楽しい質問: 車の購入

黄舟
リリース: 2017-02-04 15:33:30
オリジナル
1318 人が閲覧しました

Xiao Wang は約 2,000 元の価値がある非常に古い車を所有しており、簡単に売ることができます。

彼は 8,000 元の中古車が気に入り、十分なお金を貯めてから購入したいと考えています。

彼は毎月 1,000 元を節約できると見積もっています。

彼の現在の車とその中古車の価格は、最初は 1% ずつ毎月減額され、その後 2 か月ごとに 0.5% ずつ減額されます。

例えば、1ヶ月目は1%、2ヶ月目は1.5%、3ヶ月目は1.5%、4ヶ月目は2%割引となります。

つまり、単月の値下げ幅は前月と同じで、偶数月の値下げ幅は前月より0.5%高いということになります。

彼を手伝ってもらえますか?

この中古車を買うには何ヶ月分の貯金が必要ですか?車を買った後、彼にはいくらお金が残りますか?

関数のプロトタイプは次のとおりです:

nbMonths(startPriceOld, startPriceNew, SavingperMonth,percentLossByMonth)

は、中古車価格、中古車価格、月次デポジット枠、最初の月のドロップに対応します

例:

nbMonths(12000, 8000, 1000, 1.5) // [0, 4000]
ログイン後にコピー

この場合、中古車よりも古い車の方が価値があるのに、なぜ待つ必要があるのでしょうか?買ってください! 4,000円も稼げる!

nbMonths(8000, 8000, 1000, 1.5) // [0, 0]
ログイン後にコピー

この場合、古いものを新しいものと交換するだけで、2 つは相殺されます。

nbMonths(2000, 8000, 1000, 1.5) // [6, 766]
ログイン後にコピー

この場合、6か月かかり、最終残高は766.158…小数点以下が続くのを待って、766元に切り上げます。

この質問はとても簡単な足し算、引き算、掛け算、割り算ですが、利息を得るために銀行にお金を預けるという考えなど、あまり考えすぎないでください~

それでは、コードに直接進みましょう:

function nbMonths(startPriceOld, startPriceNew, savingperMonth, percentLossByMonth){  
    percentLossByMonth /= 100;  
    var months = 1;  
    var percentLossIncrement = 0.005;  
    var alreadyHaveMoney = 0;  
    while(startPriceOld + alreadyHaveMoney < startPriceNew){  
        if(months % 2 === 0){  
            percentLossByMonth += percentLossIncrement;  
        }  
        startPriceOld *= (1 - percentLossByMonth);  
        startPriceNew *= (1 - percentLossByMonth);  
        alreadyHaveMoney += savingperMonth;  
        months++;  
    }  
    return [months-1,Math.round(startPriceOld + alreadyHaveMoney - startPriceNew)];  
}
ログイン後にコピー

上記は JavaScript の興味深い質問です: 車の内容を購入してください。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート