Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 15929 | Accepted: 9556 |
Description
Farmer John made a profit last year! He would like to invest it well but wonders how much money he will make. He knows the interest rate R (an integer between 0 and 20) that is compounded annually at his bank. He has an integer amount of money M in the range 100..1,000,000. He knows how many years Y (range: 0..400) he intends to invest the money in the bank. Help him learn how much money he will have in the future by compounding the interest for each year he saves. Print an integer answer without rounding. Answers for the test data are guaranteed to fit into a signed 32 bit integer.
Input
* Line 1: Three space-separated integers: R, M, and Y
Output
* Line 1: A single integer that is the number of dollars FJ will have after Y years.
Sample Input
5 5000 4
Sample Output
6077
Hint
INPUT DETAILS:
5% annual interest, 5000 money, 4 years
OUTPUT DETAILS:
Year 1: 1.05 * 5000 = 5250
Year 2: 1.05 * 5250 = 5512.5
Year 3: 1.05 * 5512.50 = 5788.125
Year 4: 1.05 * 5788.125 = 6077.53125
The integer part of 6077.53125 is 6077.
5% annual interest, 5000 money, 4 years
OUTPUT DETAILS:
Year 1: 1.05 * 5000 = 5250
Year 2: 1.05 * 5250 = 5512.5
Year 3: 1.05 * 5512.50 = 5788.125
Year 4: 1.05 * 5788.125 = 6077.53125
The integer part of 6077.53125 is 6077.
Source
问题链接:POJ2390 Bank Interest。
问题简述:
输入三个正整数R、M和Y,它们表示利率、存款余额和年数,计算Y年后存款余额变为多少。要求输出结果为整数。
问题分析:
这是一个单纯的计算问题。
程序说明:
C语言库math.h中,有指数函数pow可以用于计算xy,使用该函数就可以简单地计算出结果。
/* POJ2390 Bank Interest */
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int r, m, y;
cin >> r >> m >> y;
cout << (int)(m * pow(1 + r / 100.0, y)) << endl;
return 0;
}