首页 > 其他分享 >存钱问题

存钱问题

时间:2023-04-24 14:00:43浏览次数:41  
标签:x1 期限 问题 x8 x2 x3 存钱 x5

 

一、问题描述

假设银行整存整取存款不同期限的月息利率为:

0.63%  期限为1年

0.66%  期限为2年

0.69%  期限为3年

0.75%  期限为5年

0.84%  期限为8年

现在已知某人手上有2000元要求通过计算选择出一种存钱方案,使得这笔钱存入银行20年后获得的利息最多,假设银行对超出存款期限的那部分时间不算利息,

二、设计思路

    设这20年中1年期限存了x1次,2年期限存了x2次,3年期限存了x3次,5年期限存了x5次,

8年期限存了x8次,得到的本金和利息为:

      2000*(1+0.063)x1*(1+0,066)x2*(1+0.069)x3*(1+0.075)x5*(1+0.084)x8

      条件限制为

      0<=x8<=2

      0<=x5<=(20-8*x8)/5

      0<=x3<=(20-8*x8-5*x5)/3

      0<=x2<=(20-8*x8-5*x5-3*x3)/2

      x1=20-8*x8-5*x5-3*x3-2*x2  x1>=0


三、流程图

 

    

四、伪代码

头文件

0.63%  期限为1年

0.66%  期限为2年

0.69%  期限为3年

0.75%  期限为5年

0.84%  期限为8年

算出结果,列出所有的可能的组合比较大小

输出最优结果

五、代码实现

#include<iostream>

#include<cmath>

using namespace std;

int main()

{

       int x1,x2,x3,x5,x8,y1,y2,y3,y5,y8;

       double sum,max=0.0;

       for(x8=0;x8<=2;x8++)

       {

              for(x5=0;x5<=(20-8*x8)/5;x5++)

              {

                     for(x3=0;x3<=(20-8*x8-5*x5)/3;x3++)

                     {

                            for(x2=0;x2<=(20-8*x8-5*x5-3*x3)/2;x2++)

                            {

                                   x1=20-8*x8-5*x5-3*x3-2*x2;

                                   sum=2000*pow((1+0.0063*12),x1)

                                          *pow((1+2*0.0066*12),x2)

                                          *pow((1+3*0.0069*12),x3)

                                          *pow((1+5*0.0075*12),x5)

                                          *pow((1+8*0.0084*12),x8);

                                   if(sum>max)

                                   {

                                          max=sum;

                                          y1=x1;

                                          y2=x2;

                                          y3=x3;

                                          y5=x5;

                                          y8=x8;

                                   }

 

                            }

                     }

              }

       }

       cout<<"期限为1年存了"<<y1<<"年"<<endl;

       cout<<"期限为2年存了"<<y2<<"年"<<endl;

       cout<<"期限为3年存了"<<y3<<"年"<<endl;

       cout<<"期限为5年存了"<<y5<<"年"<<endl;

       cout<<"期限为8年存了"<<y8<<"年"<<endl;

       cout<<"最终获得的本利合计"<<sum;

}

六,补充

pow函数的使用

函数原型double pow(double x,double y)

计算xy的值

为数学函数头文件加上#include<math.h>

标签:x1,期限,问题,x8,x2,x3,存钱,x5
From: https://www.cnblogs.com/duzhangdan/p/17349287.html

相关文章

  • CSE 8B 计算问题求解
    CSE8B:IntroductiontoProgrammingandComputationalProblemSolving-2Assignment2Numbers,Mathematics,Characters,andStringsinJavaDue:Wednesday,April19,11:59PMLearninggoals:●WriteJavacodethatincludes:○Numbers○Mathematicaloperations○S......
  • 掌握动态规划,从“什么问题适合用”及“解题思路”入手
    摘要:一般是用动态规划来解决最优问题。本文分享自华为云社区《深入浅出动态规划算法(中)》,作者:嵌入式视觉。一,“一个模型三个特征”理论讲解一个模型指的是适合用动态规划算法解决的问题的模型,这个模型也被定义为“多阶段决策最优解模型”。具体解释如下:一般是用动态规划来解......
  • 解决 vagrant up下载太慢的问题
    1、下载链接手动下载CentOS7镜像,这里的2004_01可以修改成自己想要的版本(这里下载很快的,一两分钟就搞定了)https://cloud.centos.org/centos/7/vagrant/x86_64/images/CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box2、加载下载的镜像1、cd到下载镜像的文件,打开windowcmd命令......
  • SpringCloud 微服务 负载均衡问题 坑死老子了!(铁大软工刘雪丰)
    fetch-registry:true是默认的,刚开始学,你会发现虽然能运行,但是会抛异常,所以我就改成false了。改为false确实不抛异常。但是!!!,如果用负载均衡改进代码,就必须设为true,因为它会报错:Noinstancesavailablefor...,连运行都运行不了。我在网上找了很久,防火墙,依赖重复,依赖版本等方法我都试......
  • 2023-04-23 算法面试中常见的动态规划问题
    动态规划1什么是动态规划以菲波那切数列求和为例,通过1.普通的递归2.引入记忆数组memo3.自下而上地解决问题,即动态规划动态规划的定义dynamicprogramming(alsoknownasdynamicoptimization)isamethodforsolvingacomplexproblembybreakingitdowninto......
  • 给虚拟机win2003装DNS插件出现问题
    已经配置给2003配置好ip地址和子网掩码了,安装DNS插件的时候报下面错误 有个红叉没法用 重启一下虚拟机就好了,可能是之前配置ip的时候和其他虚拟机重名了,我改了之后还有缓存。(还可以恢复快照或者重装一下虚拟机) ......
  • ubuntu解决端口占用问题
    为了解决端口占用问题,通过端口查找进程,再通过该进程的pid来kill该进程。Ubuntu查看端口使用情况,使用netstat命令:1.查看已经连接的服务端口(ESTABLISHED)netstat-a2.查看所有的服务端口(LISTEN,ESTABLISHED)netstat-ap3.查看指定端口,可以结合grep命令:netstat-ap|grep80804......
  • 【深入浅出Spring原理及实战】「源码调试分析」深入源码探索Spring底层框架的的refres
    学习Spring源码的建议阅读Spring官方文档,了解Spring框架的基本概念和使用方法。下载Spring源码,可以从官网或者GitHub上获取。阅读Spring源码的入口类,了解Spring框架的启动过程和核心组件的加载顺序。阅读Spring源码中的注释和文档,了解每个类和方法的作用和用法。调试Spring源码,可以......
  • 解决go gin框架 binding:"required"`无法接收零值的问题
     1、现象:​在go中gin框架中,需要接收前端参数时,参数必填,我们一般添加binding:"required"`标签,这样前端参数不给时,gin框架会自动校验,给出error。​gin的参数校验是基于validator的,如果给了required标签,则不能传入零值,比如字符串的不能传入空串,int类型的不能传入0,bool类型的不......
  • 当前目录的问题
    原来写了个用到Seleniumwebdriver的程序,里面有这么一句:vardriver=newChromeDriver(".\\",options,TimeSpan.FromSeconds(180));本来运行正常。但是昨天从vbscript里调用它,却出错了,提示找不到chromedriver.exe。vbscript程序Setshl=CreateObject("Wsc......