【CSP】202212-1_现值计算Python实现

2023-12-09 21:45

本文主要是介绍【CSP】202212-1_现值计算Python实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • @[toc]
      • 试题编号
      • 试题名称
      • 时间限制
      • 内存限制
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 样例说明
      • 子任务
      • 评分方式
      • 提示
      • `Python`实现

试题编号

202212-1

试题名称

现值计算

时间限制

1.0s

内存限制

512.0MB

问题描述

  • 评估一个长期项目的投资收益,资金的时间价值是一个必须要考虑到的因素
  • 简单来说,假设银行的年利率为 5 % 5\% 5%,那么当前的 100 100 100元一年后就会变成 105 105 105元,两年后变成 110.25 110.25 110.25
  • 因此,现在收到 100 100 100元比两年后收到 100 100 100元收益更多,两年后再支出 100 100 100元会比立刻支出 100 100 100元更加划算
  • 基于上述分析,我们使用如下的模型来衡量时间价值:假设银行的年利率为 i i i,当前(第 0 0 0年)的 x x x元就等价于第 k k k年的 x × ( 1 + i ) k x \times (1 + i)^{k} x×(1+i)k元;相应的,第 k k k年的 x x x元的当前价值实际为 x × ( 1 + i ) − k x \times (1 + i)^{-k} x×(1+i)k
  • 现给出某项目未来 n n n年的预计收入支出情况,在将所有款项转换为当前价值后,试计算该项目的总收益

输入格式

  • 从标准输入读入数据
  • 输入的第一行包含空格分隔的一个正整数 n n n和一个实数 i i i,分别表示年数和银行年利率
  • 输入的第二行包含空格分隔的 n + 1 n + 1 n+1个整数,依次表示该项目第 0 0 0 1 1 1 ⋯ \cdots n n n年的预计收入(正数)或支出(负数)

输出格式

  • 输出到标准输出中
  • 输出一个实数,表示该项目在当前价值标准下的总盈利或亏损

样例输入

2 0.05
-200 100 100

样例输出

-14.059

样例说明

  • 该项目当前支出 200 200 200元,在接下来两年每年收入 100 100 100
  • 虽然表面看起来收支相抵,但计算当前价值可知总共亏损了约 14.059 14.059 14.059

子任务

  • 全部的测试数据满足 0 < n ≤ 50 0 < n \leq 50 0<n50 0 < i < 1 0 < i < 1 0<i<1 i i i的有效数字不多于 3 3 3位,每年预计收入(正数)或支出(负数)的绝对值不大于 1000 1000 1000

评分方式

  • 如果你输出的浮点数与参考结果相比,满足绝对误差不大于 0.1 0.1 0.1,则该测试点满分,否则不得分

提示

  • C/C++:建议使用double类型存储浮点数,并使用scanf("%lf", &x);进行输入,printf("%f", x);进行输出
  • Python:直接使用print(x)进行输出即可
  • Java:建议使用double类型存储浮点数,可以使用System.out.print(x);进行输出

Python实现

n, i = map(eval, input().split())
money = list(map(int, input().split()))res = 0for k in range(n + 1):res += money[k] / ((1 + i) ** k)print(res)

这篇关于【CSP】202212-1_现值计算Python实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/475183

相关文章

Qt把文件夹从A移动到B的实现示例

《Qt把文件夹从A移动到B的实现示例》本文主要介绍了Qt把文件夹从A移动到B的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录如何移动一个文件? 如何移动文件夹(包含里面的全部内容):如何删除文件夹:QT 文件复制,移动(

Flask 验证码自动生成的实现示例

《Flask验证码自动生成的实现示例》本文主要介绍了Flask验证码自动生成的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录生成图片以及结果处理验证码蓝图html页面展示想必验证码大家都有所了解,但是可以自己定义图片验证码

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

java导出pdf文件的详细实现方法

《java导出pdf文件的详细实现方法》:本文主要介绍java导出pdf文件的详细实现方法,包括制作模板、获取中文字体文件、实现后端服务以及前端发起请求并生成下载链接,需要的朋友可以参考下... 目录使用注意点包含内容1、制作pdf模板2、获取pdf导出中文需要的文件3、实现4、前端发起请求并生成下载链接使

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音