看到一个算法专栏的博主的博客 -->(MingShen),觉得很有意思,可惜博主是用C语言写的,征得博主同意后本考拉决定将这位博主的算法题(当然是在自己能力范围之内的)用 java 或 scala 进行实现,哈哈哈哈哈哈。
Description
A soldier wants to buy w bananas in the shop. He has to pay k dollars for the first banana, 2k dollars for the second one and so on (in other words, he has to pay i·k dollars for the i-th banana).
He has n dollars. How many dollars does he have to borrow from his friend soldier to buy w bananas?
Input
The first line contains three positive integers k, n, w (1 ≤ k, w ≤ 1000, 0 ≤ n ≤ 109), the cost of the first banana, initial number of dollars the soldier has and number of bananas he wants.
Output
Output one integer — the amount of dollars that the soldier must borrow from his friend. If he doesn’t have to borrow money, output 0.
Sample Input
Input
3 17 4
Output
13
public class ATest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int first = scanner.nextInt();
int money = scanner.nextInt();
int number = scanner.nextInt();
System.out.println(borrowMoney(first, money, number));
}
public static int borrowMoney(int first, int money, int number){
int totalMoney = ((first + first * number) * number) / 2;
int borrow = totalMoney - money;
if(borrow > 0){
return borrow;
}else {
return 0;
}
}
}