题目描述
某理财产品的利率计算是按月利率,而且算复利率。先给你一年中12个月每个月的利率,请问这款理财产品的年利率是多少?
输入
第一行是一个整数K,表示样例个数。 以后每行12个整数,表示每月的利率是Xi%。-20≤Xi≤20。
输出
输出一个浮点数,保留3位小数,四舍五入,表示年利率%。
样例输入
1 1 1 1 1 1 1 1 1 1 1 1 1样例输出
12.683
解题思路: 这题关键就是把题读懂, 其余代码部分没任何难度。
首先 复利率 的意思是把 上个月的利润也算作这个月的本金。比如开始往银行里存了 1个W,银行给你利息为2%,那第一个月完后给你200块,下个月你的本金就成了 1.02个W,第二个月应该给你 1.02W * 2%。 以此往复。
然后题目就问你,这款理财产品的年利率是多少。怎么算,那就是 12个月之后的 资金 Y 与 本金X 比较。 本金X * (1 + 年利率) = 资金Y
稍微变换一下就能求出 年利率 的值。
AC代码:
#include <stdio.h>
int main()
{
int k,xi;
double t,interestMouth,interestYear;
scanf("%d",&k);
while ( k --)
{
interestMouth = 1;
for (int i = 1; i <= 12; i ++)
{
scanf("%d",&xi);
t = double(100+xi)/100; // 百分比整数 转换成 小数
interestMouth *= t; // 12月的复利
}
interestYear = (interestMouth-1)*100;
printf("%.3f\n",interestYear);
}
}