寒假打卡今天开始01

本文介绍了一个编程题目,涉及如何使用二分搜索算法计算给定贷款原值、每月分期付款金额和还款总月数下的月利率,以满足贷款本金等于分期付款总额。作者对月利率的概念感到困惑,但展示了如何通过编程解决实际问题。
摘要由CSDN通过智能技术生成

//24/2/2
//二分 
//坑爹月利率 肯本不知道是什么 题解是 100/1.029 + 100 /(1.029^2) + 100/(1.029^3) + ……+ 100/(1.029^12) = 1000
// w0 = Σw/(1 + v)^i (i = 1,2,……n) 
//w0:贷款原值; w:每月支付的分期付款金额     n:还清的总月数         v:月利率

 

#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;

double w0,w,n;

bool check(double x){
    double total = 0;
    for(int i = 1; i <= n; i++){
        total += w/pow((1 + x),i); 
    }
    if(!(total - w0 > 1e-6) ) //total <= w0
        return true;
    else
        return false;
}

double bsearch(double l , double r){
    while(r - l > 1e-6){
        double mid = (l + r)/2;
        if(check(mid)) r = mid;
        else l = mid;
    }
    return r;    
}


int main(){
    
    cin >> w0 >> w >> n;
    
    double res = bsearch(0,3);
    res *= 100;
    printf("%.1lf\n",res);
    
    return 0;

//模板题 so easy 但主要是不知道什么是月利率 很烦 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值