【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

相关文章

Spring IOC的三种实现方式详解

《SpringIOC的三种实现方式详解》:本文主要介绍SpringIOC的三种实现方式,在Spring框架中,IOC通过依赖注入来实现,而依赖注入主要有三种实现方式,构造器注入、Setter注入... 目录1. 构造器注入(Cons编程tructor Injection)2. Setter注入(Setter

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

Python实现文件下载、Cookie以及重定向的方法代码

《Python实现文件下载、Cookie以及重定向的方法代码》本文主要介绍了如何使用Python的requests模块进行网络请求操作,涵盖了从文件下载、Cookie处理到重定向与历史请求等多个方面,... 目录前言一、下载网络文件(一)基本步骤(二)分段下载大文件(三)常见问题二、requests模块处理

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

Java中List转Map的几种具体实现方式和特点

《Java中List转Map的几种具体实现方式和特点》:本文主要介绍几种常用的List转Map的方式,包括使用for循环遍历、Java8StreamAPI、ApacheCommonsCollect... 目录前言1、使用for循环遍历:2、Java8 Stream API:3、Apache Commons

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一

使用Python实现高效的端口扫描器

《使用Python实现高效的端口扫描器》在网络安全领域,端口扫描是一项基本而重要的技能,通过端口扫描,可以发现目标主机上开放的服务和端口,这对于安全评估、渗透测试等有着不可忽视的作用,本文将介绍如何使... 目录1. 端口扫描的基本原理2. 使用python实现端口扫描2.1 安装必要的库2.2 编写端口扫

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言