0

与えられた初期資本と、資本が2倍になった年までの現在の年の現在の資本を出力する固定の年利(利息)を持つループを作成したいと思います。

たとえば、初期資本は3000で、利息は12です。

//3000*(1 + 12 / 100) = 3360

output
year 1 = 3360
year 2 = 3763.2
year 3 = 4214.78
year 4 = 4720.55
year 5 = 5287,02
year 6 = 5921,46
//end (when the initial capital(3000) has doubled (6000))

私が助けを必要としているのは、資本がforループまたはwhileループのいずれかで2倍になるまで、出力を計算して表示するループを作成することです。出力は例のようである必要はありませんが、似たようなものである必要があります。

これまでに作成されたコードは次のとおりです。

double initialcapital = 0;
double interest = 0;
int year = 0;
double capital = 0;

Console.Write("Initial capital: ");
initialcapital = int.Parse(Console.ReadLine());

Console.Write("Interest: ");
interest = int.Parse(Console.ReadLine());

capital = initialcapital * (1 + interest / 100);
year = year + 1
Console.Writeline(capital);
4

2 に答える 2

1

金額が 2 倍になるまでの正確な年数を知りたい場合は、次のように使用できます。

double exactYears = Math.Log(2) / Math.Log((100 + interest) / 100);

それ以外の場合は、次のようになります。

double initialCapital = 0;
double interest = 0;
int year = 0;
double capital = 0;

Console.Write("Initial capital: ");
initialCapital = int.Parse(Console.ReadLine());

Console.Write("Interest: ");
interest = int.Parse(Console.ReadLine());
capital = initialCapital;

while (capital < initialCapital * 2)
{
    capital = capital * (1 + interest / 100);
    year = year + 1;

    Console.WriteLine("Years: " + year);
    Console.WriteLine("Capital: " + capital);
}

Console.WriteLine("Years: " + year);
Console.WriteLine("Capital: " + capital);

double exactYears = Math.Log(2) / Math.Log((100 + interest) / 100);
Console.WriteLine(string.Format("Capital doubled in exactly: {0:0.000} years", exactYears));
于 2013-02-18T11:07:13.783 に答える
1
 void displayCapital(double initalcapital, double interest){
     int year = 1;
     double capital = initialcapital;

     while(initialcapital > capital / 2) {
         Console.Write("Initial capital: ");
         initialcapital = int.Parse(Console.ReadLine());

         Console.Write("Interest: ");
         interest = int.Parse(Console.ReadLine());

         capital = initialcapital * (1 + interest / 100);
         year = year + 1
         Console.Writeline(capital);
     }
}

displayCapital(3000, 12); を呼び出すだけです。そして、あなたは終わった

于 2013-02-18T10:52:50.747 に答える