题目
翻译
题目
一个士兵想在商店里买
w
w
w香蕉。他得为第一个香蕉付
k
k
k美元,第二个香蕉付
2
k
2k
2k美元,以此类推(换言之,他得为第
i
i
i个香蕉付
i
i
i×
k
k
k美元)。
他有
n
n
n美元。他需要从他的士兵朋友那借多少美元才能买下
w
w
w香蕉?
输入
第一行为3个正整数 k k k, n n n, w w w(1 ≤ k k k, w w w ≤ 1000,0 ≤ n n n ≤ 109),表示第一只香蕉的价格,士兵手头上的钱,士兵想买的香蕉数。
输出
输出一个整数 一 士兵需要从他朋友借多少钱,如果不需要借,输出0。
分析
对于 k k k, 2 k 2k 2k… w w w k k k,提取公因式,就是算出1,2,… w w w这个数列的和,乘以 k k k,故使用数学公式计算总价格,减去手头上的钱,得出结果。
代码
#include<iostream>
using namespace std;
int main()
{
int k, n, w;
cin >> k >> n >> w;
cout << (k * w * (1 + w) / 2 > n ? k * w * (1 + w) / 2 - n : 0);
/*判断一下是不是可以不需要借*/
return 0;
}