一个有趣的数学题目

一次向银行借了a元钱,分b月还清。如果需要每月还c元,月利率是多少(按复利计算)?
例如借了2000元,分4个月每月还510元,则月利率为0.797%。答案应不超过100%。
大家可以试试,不要套公式用递归做。

我这里给大家一个代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 #include <stdio.h>
int main()
{
	double a, c, x = 0, y = 100;
	int i, b;
	scanf("%lf%d%lf", &a, &b, &c);
	while(y-x > 1e-5)
	{
		double m = x + (y-x)/2;
		double f = a;
		for(i = 0; i < b; i++)
			f = f*(1+m/100.0) - c;
		if(f < 0)
			x = m;
		else
			y = m;
	}
	printf("%.3lf%%\n", x);
	return 0;
}

思想就是无限的二分。。。
呵呵,感觉比单纯的套公式要强大多了!

发布者

Tanky Woo

Tanky Woo,[个人主页:https://tankywoo.com] / [新博客:https://blog.tankywoo.com]

《一个有趣的数学题目》有2个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注