问题描述
如果在240个月内每月付款300美元,使用二分法在利率区间[a,b] 内,求能够满足在这240个月之后使本金和利息的总值达到50万美元的利率值,精确到小数点后第d位。
输入形式
在屏幕上输入3个数,依次为利率区间左端点值a、右端点值b和精确到小数点后d位。各数间都以一个空格分隔。测试用例的输入满足:b>a>0, 1<=d<=8, d为正整数。
输出形式
输出两行数据,第一行为迭代次数,第二行为求得的利率,保留d位小数。
样例输入
0.15 0.16 8
样例输出
20
0.15753931
样例说明
输入:左端点值为0.15,右端点值为0.16,求得的利率精确到小数点后8位。输出:表示经 20 次迭代,求得满足条件的利率值为 0.15753931。
代码
#二分法
import math
def f(I):
P = 300
N = 240
target = 500000
return P / (I / 12) * (