2017-06-20 8 views
0

私はこの問題を解決するように求められました。なぜなら、それは私がまだ初心者であるために難しいからです。ループを使った成長率計算

2012年10月にFacebookが10億人のユーザーに達しました。この練習では、 Facebookがいつ届くかを判断するプログラムを作成します で2%、3%、4%または5%の固定月率率で成長する場合は25億人。

異なるレートで4回計算する必要があり、forループを使用するたびに25億ユーザーに達する月と年を取得する必要があります。 forループの中で使用する別の演習からこのヒントが与えられましたが、私はそれを使う方法を理解していませんでした。

amount = pow (1.0 * rate , year) 

は今、uはループ内for (int i = 1000000000 ; i <= 2500000000 ; here if I put ++i its not logical !)

、ループの境界線を固定しましょうその簡単に私たちは(2012年10月である)我々の場合10時開始と言う月レットをカウントするつもりだと思います25に達すると、10 + 15という意味になります。これは、2014年1月の日付を意味しますが、その情報はユーザーに表示する方法についての問題ですか?正しい構造を手に入れることができますか?おかげ

+0

通常は 'i ++'を行う場所で、 'i + = some_number'のようなことができます。 – NathanOliver

+0

some_numberとはどういう意味ですか?それは特定のタスクを行う必要がありますか? –

+0

forループが必要ですか? whileループはここで呼び出されるようです。 –

答えて

0

は、これはそうのように、(代わりに、forループの) whileループを使用して経由して解決することができます:

#include <iostream> 


double GrowthRatio = 1.05d; // Using 5% growth in this example. 
double nUsers = 1000000000; 
int MonthsElapsed = 0; 

while((nUsers *= GrowthRatio) < 2500000000) 
    MonthsElapsed++; 

std::cout << MonthsElapsed; 

出力:
18

それは18ヶ月のFacebookを取った意味(2012年10月以降)、25億人のユーザーを獲得しました。