C++
 Computer >> コンピューター >  >> プログラミング >> C++

年利1%でXルピーに到達するまでの必要年数を計算するC++プログラム

整数 X が与えられているとします。現在、銀行には 100 ルピーの預金があり、銀行は年 1% の複利で利息を付けてくれます(計算では整数のみを扱います)。このとき、預金残高が X ルピーに達するまでに何年かかるのかを求めるのが本記事の目的です。

例えば、入力として X = 520 が与えられた場合、出力は 213 となります。

解き方の手順

この問題は、実際に残高が増えていく様子をシミュレーションすることで解けます。以下の手順に従います。

sum := 0
balance := 100
while balance < n, do:
    interest := balance / 100
    sum := sum + 1
    balance := balance + interest
return sum

このアルゴリズムでは、まず経過年数を記録する変数 sum を 0 に初期化し、初期残高を 100 ルピーとします。残高が目標額 n 未満である限り、残高の 1% に相当する利息を計算し、年数を 1 増やしながら残高に利息を加えていきます。ループを抜けた時点での sum が答えとなります。

実装例

理解を深めるために、以下の C++ 実装を見てみましょう。

#include <bits/stdc++.h>
using namespace std;

int solve(int n){
    int sum = 0;
    int balance = 100;
    while (balance < n){
        int interest = balance / 100;
        sum = sum + 1;
        balance = balance + interest;
    }
    return sum;
}
int main(){
    int X = 520;
    cout << solve(X) << endl;
}

入力

520

出力

213

このプログラムでは、利息の計算に整数除算を使用している点に注意してください。問題文で「整数のみ」と指定されているため、小数点以下は切り捨てられます。そのため、実際の複利計算よりも厳密な結果とは若干異なる場合がありますが、この仕様のもとでの正しい解となっています。

  1. C++で簡単なプログラムを作成する方法【初心者向けステップ解説】

    C++で最初の簡単なプログラムを作成するには、まず開発環境を整え、その上でプログラムを書いて実行します。この記事では、非常にシンプルな「Hello World」プログラムを例に、C++プログラミングを始めるための手順をわかりやすく解説します。ステップ1:C++コンパイラを入手するC++の学習を始める前に、まず必要になるのがコンパイラです。主要なOSプラットフォーム向けに、優れた無料のC++コンパイラが多数公開されています。自分の環境に合ったものをダウンロードするか、tutorialspoint.comが提供するオンラインコンパイラ(https://www.tutorialspoint.com/

  2. C++プログラミングの始め方:初心者向けステップバイステップガイド

    C++プログラミングを学ぼうと決めたものの、何から手をつければよいかわからない——そんな方のために、この記事ではC++学習を始めるための基本的な手順をわかりやすく解説します。コンパイラの導入から、初めてのプログラム作成、コンパイルと実行まで、順を追って見ていきましょう。 ステップ1:C++コンパイラを入手する C++プログラミングを学び始める前に、まず最初に行うべきのがコンパイラの準備です。主要なOSプラットフォーム向けに、高品質な無料のC++コンパイラが複数提供されています。自分の環境に合ったものをダウンロードするか、手軽に試したい場合はtutorialspoint.comのオンラインコンパ