首页 > 其他分享 >银行贷款(二分)

银行贷款(二分)

时间:2024-04-02 21:32:32浏览次数:12  
标签:二分 分期付款 int double 银行贷款 solve w0 include

题目描述

当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款。这个问题要求计算出贷款者向银行支付的利率。假设利率按月累计。

输入格式

三个用空格隔开的正整数。

第一个整数表示贷款的原值 w0​,第二个整数表示每月支付的分期付款金额 w,第三个整数表示分期付款还清贷款所需的总月数 m。

输出格式

一个实数,表示该贷款的月利率(用百分数表示),四舍五入精确到 0.1%。

数据保证答案不超过 300.0%。

输入输出样例

输入 #1复制

1000 100 12

输出 #1复制

2.9

说明/提示

数据保证,1≤w0,w≤2^31−1​,1≤m≤3000。

思路:暴力二分,嵌套函数,利用精确度输出

#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
double w0,w;
int m;
int out(double x)//输出不代%的月利率 
{
    printf("%.1lf",x*100);
    exit(0);
}
void solve(double l,double r)
{
    double mid=(r+l)/2,u=r-l;
    int  i;
    double a=w0;
    if(u<0.0001)out(mid);//通过精确度,如果r与l差值小于精确度,输出; 
    for(i=1;i<=m;i++)
        a=a*(1+mid)-w;
     if(a>0)solve(l,mid);//利用二分,套用函数; 
    if(a<0)solve(mid,r);
    if(a==0)out(mid);
}
int main()
{
    cin>>w0>>w>>m;
    solve(0,3.001);
}

标签:二分,分期付款,int,double,银行贷款,solve,w0,include
From: https://blog.csdn.net/2301_79963929/article/details/137249733

相关文章

  • 灵茶之二分02
    灵茶之二分02题目链接https://codeforces.com/problemset/problem/1538/C题目大意输入T(≤104)表示T组数据。所有数据的n之和≤2e5。每组数据输入n(1≤n≤2e5)LR(1≤L≤R≤1e9)和长为n的数组a(1≤a[i]≤1e9)。输出有多少对(i,j)满足i<j且L<=a[i]+......
  • 二分法
    概述二分查找详解.mdSTLC++二分查找库二分查找库闭区间、左闭右开区间和开区间视频讲解二分法classSolution{//lower_bound返回最小的满足nums[i]>=target的i//如果数组为空,或者所有数都<target,则返回nums.size()//要求nums是非递减的,即......
  • [入门]二分查找右侧边界
    说明请在一个有序不递减的数组中(数组中的值有相等的值),采用二分查找,找到最后1次出现值x的位置,如果不存在x请输出-1。请注意:本题要求出q个x,每个x在数组中最后一次出现的位置。比如有6个数,分别是:122233,那么如果要求3个数:325,在数组中最后一次出现的位置,答案是:64-1。输......
  • C108 整体二分+树状数组(区修+区查)P3332 [ZJOI2013] K大数查询
    视频链接:C108整体二分+树状数组(区修+区查)P3332[ZJOI2013]K大数查询_哔哩哔哩_bilibili   参考:C82树状数组区修+区查P3372线段树1-董晓-博客园(cnblogs.com)LuoguP3332[ZJOI2013]K大数查询//整体二分+树状数组(区修+区查)O(n*logn*logn)#include<iost......
  • 备战蓝桥杯第三模块之二分模版+二分练题
    前言因本系列是为了蓝桥杯前几天快速过知识点所准备,所以有些部分会很简洁模版整数二分intMid(inta,intb){intl=1;intr=1e9+10;while(l<r){intmid=l+r>>2;if(a/mid<=b)//这儿一般情况下看需要用mid判断什么条件r=mid;elsel=......
  • 【题解】AGC007E | 二分答案 复杂度分析
    首先考虑题目要求每条边被经过两次,这说明了我们进入一个子树后一定会处理完子树内所有的叶子后离开该子树,否则子树上端那条边会进出至少两次,即经过至少四次。所以这说明了子树之间的独立性:某个子树在答案中一定是一个连续的区间,这引导我们从有根树信息自下向上拼接的角度考虑。我......
  • 扫地机器人 二分答案,贪心 蓝桥杯
    二分答案与二分查找类似,二分查找有一个前提就是数列要求是有序的,二分答案则是要求满足条件的答案是单调有序的,它的基本思想是在答案可能的范围([L,R])内二分查找答案,不断检查当前答案是否满足题目的要求,根据检查结果更新查找的区间,最终取得最符合题目要求的答案进行输出。......
  • 灵茶之二分01
    灵茶之二分01链接Problem-166C-Codeforces题目大意输入n(1≤n≤500)x(1≤x≤\(10^5\))和长为n的数组a(1≤a[i]≤\(10^5\))。向a中添加尽量少的数,使得a的中位数恰好等于x。输出添加的元素个数。注:如果n是偶数,中位数取正中间左边那个。例如a=[1,3,5,7]的......
  • 二分查找算法
    二分查找算法思想1、数组要求是有序的2、定义左右边界索引l、r,中间索引m=(l+r)/23、判断arr[m]与待查找值target的大小,不断减少右边界索引r或者增加左边界索引l 基础版二分查找(1)如果target<arr[m],则证明待查找值在中间索引左侧,减少右索引r=m-1,继续下一轮查找(2)如果如果targ......
  • 2.27 二分图与网络流复习
    可能会有一些有一点用的trick的整理与复习。很少,很不系统。1Dinic优化给bfs和dfs加上当前弧优化。但是此时要一定注意在遍历时,\(rest=0\)退出循环需要在循环内写,而非在for中的条件写。对边权排序后分段。Dinic很多时候慢是因为边权差距太大了。于是我们不断设......