首页 > 专题系列 > Java解POJ > POJ 2390 Bank Interest [解题报告] Java
2013
11-11

POJ 2390 Bank Interest [解题报告] Java

Bank Interest

问题描述 :

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.

输入:

* Line 1: Three space-separated integers: R, M, and Y

输出:

* Line 1: A single integer that is the number of dollars FJ will have after Y years.

样例输入:

5 5000 4

样例输出:

6077

温馨提示:

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.

解题代码:

import java.io.BufferedInputStream;   
import java.math.BigInteger;   
import java.util.Scanner;   
  
/**  
 *  
 * Poj2390   
 * @author NC  
 */  
public class Main {   
  
    public static void main(String[] args) {   
        Scanner scan = new Scanner(new BufferedInputStream(System.in));   
        if (scan.hasNext()) {   
        int r = scan.nextInt();   
        long m = scan.nextLong();   
        int y = scan.nextInt();   
        double s = m;   
        for(int i = 1;i<=y;i++){   
            s=s*(r/100.0+1);   
        }   
            System.out.println((long)(Math.floor(s)));   
    }   
    }   
}