Untitled Web Page

とある高専生の割と誰得なウェブページです。

Problem 0007:Debt Hell

問題

Debt Hell

某国に住んでいる友達がお金に困って、あるヤミ金融業者から 10 万円の借金をしたまま、全く返済していないといいます。この業者は、一週間ごとに 5% の利子を借金に加え、さらに借金の 1,000 円未満を切り上げます。

n を入力したとき、n 週間後の借金の残高を出力し終了するプログラムを作成して下さい。n は 100 以下とします。

Input

整数 n

Output

n 週間後の返済額

Sample Input

5

Output for the Sample Input

130000

解法:愚直

問題文のとおりのことをソースコードにした。なお,借金の 1,000 円未満を切り上げは,借金の利子を一度1000で割り,0.999を足して1000倍しint型にキャストした。(わかりにくい)

#include <iostream>

using namespace std;

int main() {
   int n, money = 100000;
   cin >> n;
   for (int i = 0; i < n; i++) {
      money += int((double)money * 0.05 / 1000 + 0.999) * 1000;
   }
   cout << money << endl;
   return 0;
}