算法学习003-银行存钱 中小学算法思维学习 信奥算法解析 c++实现

目录

C++银行存钱

一、题目要求

1、编程实现

2、输入输出

二、算法分析

三、程序编写

四、程序说明

五、运行结果

六、考点分析

七、推荐资料


C++银行存钱

一、题目要求

1、编程实现

小明的父亲准备为小明的4年大学生活一次性在银行储蓄一笔钱,使用整存零取的方式,控制小明每月的月底只能提取1000元准备下月使用。假设银行一年整存零取的年利息为1.68%,请编程计算出父亲至少需要一次性存入多少钱才够小明4年大学生活(4年的利息也应计算在内)

(注:年利息1.68%,转换成月利率为:0.0168/12)

2、输入输出

输出描述:输出每个月月末对应的存款

输出样例:

第48个月月末应存入的钱数:1000
第47个月月末应存入的钱数:1997.2
第46个月月末应存入的钱数:2993.01
第45个月月末应存入的钱数:3987.43
第44个月月末应存入的钱数:4980.46
第43个月月末应存入的钱数:5972.1
第42个月月末应存入的钱数:6962.35
第41个月月末应存入的钱数:7951.22
第40个月月末应存入的钱数:8938.7
第39个月月末应存入的钱数:9924.81
第38个月月末应存入的钱数:10909.5
第37个月月末应存入的钱数:11892.9
第36个月月末应存入的钱数:12874.9
第35个月月末应存入的钱数:13855.5
第34个月月末应存入的钱数:14834.7
第33个月月末应存入的钱数:15812.6
第32个月月末应存入的钱数:16789.1
第31个月月末应存入的钱数:17764.2
第30个月月末应存入的钱数:18738
第29个月月末应存入的钱数:19710.4
第28个月月末应存入的钱数:20681.4
第27个月月末应存入的钱数:21651.1
第26个月月末应存入的钱数:22619.4
第25个月月末应存入的钱数:23586.4
第24个月月末应存入的钱数:24552
第23个月月末应存入的钱数:25516.3
第22个月月末应存入的钱数:26479.2
第21个月月末应存入的钱数:27440.8
第20个月月末应存入的钱数:28401.1
第19个月月末应存入的钱数:29360
第18个月月末应存入的钱数:30317.5
第17个月月末应存入的钱数:31273.7
第16个月月末应存入的钱数:32228.6
第15个月月末应存入的钱数:33182.2
第14个月月末应存入的钱数:34134.4
第13个月月末应存入的钱数:35085.2
第12个月月末应存入的钱数:36034.8
第11个月月末应存入的钱数:36983
第10个月月末应存入的钱数:37929.9
第9个月月末应存入的钱数:38875.5
第8个月月末应存入的钱数:39819.7
第7个月月末应存入的钱数:40762.7
第6个月月末应存入的钱数:41704.3
第5个月月末应存入的钱数:42644.6
第4个月月末应存入的钱数:43583.6
第3个月月末应存入的钱数:44521.2
第2个月月末应存入的钱数:45457.6
第1个月月末应存入的钱数:46392.7

二、算法分析

  1. 分析存钱和取钱的过程,可以采用逆推的方法来分析
  2. 因为是每月月底取钱,所以要保证4年都能每月取1000
  3. 4年就是48个月,每个月分别进行计算如下:
  4. 最后一个月也就是第48个月应该是1000元
  5. 第47个月月末就应该还需要有存款:1000(1+0.0168/12)
  6. 第46个月月末就应该还需要有存款:(第47个月末存款+1000)(1+0.0168/12)
  7. 第45个月月末就应该还需要有存款:(第46个月末存款+1000)(1+0.0168/12)
  8. ......
  9. 第1个月月末就应该还需要有存款:(第2个月末存款+1000)(1+0.0168/12)
  10. 所以通过上述的逆推过程就可以得出对应的最初需要存储多少钱

三、程序编写

#include<bits/stdc++.h>
using namespace std;
float month[49];
int main()
{float rate = 0.0168;month[48] = 1000.0;for(int i=47;i>0;i--){month[i] = (month[i+1] + 1000) / (1 + rate/12);}for(int i=48;i>0;i--){cout << "第" << i << "个月月末应存入的钱数:" << month[i] << endl; }return 0;
}

四、程序说明

  1. 首先,定义了一个数组month,用来存储每个月月末的钱数
  2. 数组的大小为49,其中月末钱数从month[1]到month[48]
  3. 接下来,定义了一个变量rate,表示年利率,初始值为0.0168
  4. 然后,将数组month[48]的初始值设为1000.0,表示第48个月初始时有1000元钱
  5. 接下来的两个循环分别计算每个月月末应存入的钱数。 第一个循环从i=47开始倒序遍历数组,计算month[i]的值
  6. month[i]的值等于month[i+1]和1000的和除以(1+rate/12)。表示当前月末的钱数等于下个月月末的钱数加上每个月存入的1000元,然后除以(1+rate/12)得到的值
  7. 第二个循环从i=48开始倒序遍历数组,将计算得到的每个月月末的钱数输出
  8. 最后返回0,程序结束

 本文作者:小兔子编程 作者首页:https://blog.csdn.net/frank2102

五、运行结果

第48个月月末应存入的钱数:1000
第47个月月末应存入的钱数:1997.2
第46个月月末应存入的钱数:2993.01
第45个月月末应存入的钱数:3987.43
第44个月月末应存入的钱数:4980.46
第43个月月末应存入的钱数:5972.1
第42个月月末应存入的钱数:6962.35
第41个月月末应存入的钱数:7951.22
第40个月月末应存入的钱数:8938.7
第39个月月末应存入的钱数:9924.81
第38个月月末应存入的钱数:10909.5
第37个月月末应存入的钱数:11892.9
第36个月月末应存入的钱数:12874.9
第35个月月末应存入的钱数:13855.5
第34个月月末应存入的钱数:14834.7
第33个月月末应存入的钱数:15812.6
第32个月月末应存入的钱数:16789.1
第31个月月末应存入的钱数:17764.2
第30个月月末应存入的钱数:18738
第29个月月末应存入的钱数:19710.4
第28个月月末应存入的钱数:20681.4
第27个月月末应存入的钱数:21651.1
第26个月月末应存入的钱数:22619.4
第25个月月末应存入的钱数:23586.4
第24个月月末应存入的钱数:24552
第23个月月末应存入的钱数:25516.3
第22个月月末应存入的钱数:26479.2
第21个月月末应存入的钱数:27440.8
第20个月月末应存入的钱数:28401.1
第19个月月末应存入的钱数:29360
第18个月月末应存入的钱数:30317.5
第17个月月末应存入的钱数:31273.7
第16个月月末应存入的钱数:32228.6
第15个月月末应存入的钱数:33182.2
第14个月月末应存入的钱数:34134.4
第13个月月末应存入的钱数:35085.2
第12个月月末应存入的钱数:36034.8
第11个月月末应存入的钱数:36983
第10个月月末应存入的钱数:37929.9
第9个月月末应存入的钱数:38875.5
第8个月月末应存入的钱数:39819.7
第7个月月末应存入的钱数:40762.7
第6个月月末应存入的钱数:41704.3
第5个月月末应存入的钱数:42644.6
第4个月月末应存入的钱数:43583.6
第3个月月末应存入的钱数:44521.2
第2个月月末应存入的钱数:45457.6
第1个月月末应存入的钱数:46392.7

六、考点分析

难度级别:一般,这题相对而言有一点难度,在于逆向思维,具体主要考查如下:

  1. 分析题目,找到解题思路
  2. 学会逆向思维的算法思维,学会逆推方法的使用
  3. 学会输入流对象cin的使用,从键盘读入相应的数据
  4. 学会for循环的使用,在确定循环次数的时候推荐使用学会
  5. 掌握输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
  6. 学会分析题目,逆推算法分析,将复杂问题模块化,简单化,从中找到相应的解题思路
  7. 充分掌握变量定义和使用、分支语句、循环语句和简单算法知识的使用及输入输出的用法

PS:方式方法有多种,小朋友们只要能够达到题目要求即可!

七、推荐资料

  • 所有考级比赛学习相关资料合集【推荐收藏】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/652092.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某赛通电子文档安全管理系统 多处 SQL注入漏洞复现

0x01 产品简介 某赛通电子文档安全管理系统(简称:CDG)是一款电子文档安全加密软件,该系统利用驱动层透明加密技术,通过对电子文档的加密保护,防止内部员工泄密和外部人员非法窃取企业核心重要数据资产,对电子文档进行全生命周期防护,系统具有透明加密、主动加密、智能…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《适用于含新能源交流电网继电保护整定计算的故障计算方法研究》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

数据结构:初识集合框架

目录 1. 什么是集合框架2. 集合框架的重要性3. 背后所涉及的数据结构以及算法3.1 什么是数据结构3.2 容器背后对应的数据结构3.3 相关java知识3.4 什么是算法 1. 什么是集合框架 官方教程 Java 集合框架Java Collection Framework &#xff0c;又被称为容器和其实现类classes …

神经网络的激活函数

目录 神经网络 激活函数 sigmoid 激活函数 tanh 激活函数 backward方法 relu 激活函数 softmax 激活函数 神经网络 人工神经网络&#xff08; Artificial Neural Network&#xff0c; 简写为ANN&#xff09;也简称为神经网络&#xff08;NN&#xff09;&#xff0c…

LeetCode - LCR 008.长度最小的子数组

一. 题目链接 LeetCode - 209. 长度最小的子数组 二. 思路分析 由于此问题分析的对象是「⼀段连续的区间」&#xff0c;因此可以考虑「滑动窗口」的思想来解决这道题。 让滑动窗口满足&#xff1a;从 i 位置开始&#xff0c;窗口内所有元素的和小于target &#xff08;那么当…

Linux基础——Linux开发工具(gcc/g++,gdb)

前言&#xff1a;在上一篇我们简单介绍了yum&#xff0c;vim的一些常用的指令和模式&#xff0c;现在让我们来进一步了解其他的Linux环境基础开发工具gcc/g&#xff0c;gdb。 如果对前面yum和vim有什么不懂的建议回顾去回顾上期知识&#xff01;&#xff01;&#xff01; Linu…

【问题实操】银河麒麟高级服务器操作系统实例,CPU软锁报错触发宕机

1.服务器环境以及配置 处理器&#xff1a; Kunpeng 920 内存&#xff1a; 256G DDR4 整机类型/架构&#xff1a; TaiShan 200 (Model 2280) 内核版本 4.19.90-23.8.v2101.ky10.aarch64 2.问题现象描述 两台搭载麒麟v10 sp1的机器均在系统CPU软锁报错时&#xff0c;触…

sCrypt全新上线RUNES功能

sCrypt智能合约平台全新上线一键etch/mint RUNES功能&#xff01; 请访问 https://runes.scrypt.io/ 或点击阅读原文体验&#xff01; 关于sCrypt sCrypt是BSV区块链上的一种智能合约高级语言。比特币使用基于堆栈的Script语言来支持智能合约&#xff0c;但是用原生Script编…

JavaScript创建和填充数组的更多方法

空数组fill()方法创建并填充数组 ● 我们之前创建数组的方式都是手动去创建去一个数据&#xff0c;例如 console.log([1, 2, 3, 4, 5, 6, 7]);● 当然我们也可以使用Array对象来构造数组 console.log([1, 2, 3, 4, 5, 6, 7]); console.log(new Array(1, 2, 3, 4, 5, 6, 7));…

​「Python大数据」词频数据渲染词云图导出HTML

前言 本文主要介绍通过python实现数据聚类、脚本开发、办公自动化。词频数据渲染词云图导出HTML。 一、业务逻辑 读取voc数据采集的数据批处理,使用jieba进行分词,去除停用词词频数据渲染词云图将可视化结果保存到HTML文件中二、具体产出 三、执行脚本 python wordCloud.p…

2024最新智慧医疗智慧医院大数据展示,医院数据采集概况、医院指标分析、医院就诊趋势分析等。源代码免费下载。

系列文章目录 【复制就能用1】2分钟玩转轮播图,unslider的详细用法 【复制就能用2】css实现转动的大风车&#xff0c;效果很不错。 【复制就能用3】2分钟自己写小游戏&#xff1a;剪刀石头布小游戏、扫雷游戏、五子棋小游戏 【复制就能用4】2024最新智慧医疗智慧医院大数据…

信息系统项目管理师0072:集成基础(5信息系统工程—5.3系统集成—5.3.1集成基础)

点击查看专栏目录 文章目录 5.3系统集成5.3.1集成基础5.3系统集成 随着信息技术的发展,系统集成逐步成为信息系统实施中一项重要的工作。此处的系统集成概念专指计算机系统的集成,包括计算机硬件平台、网络系统、系统软件、工具软件、应用软件的集成,围绕这些系统的相应咨询…