美文网首页
存钱问题

存钱问题

作者: 一路向后 | 来源:发表于2021-10-14 22:36 被阅读0次

1.问题描述

假设银行整存整取存款不同期限的月息利率为:
0.63% 期限为1年
0.66% 期限为2年
0.69% 期限为3年
0.75% 期限为5年
0.84% 期限为8年
现在已知某人手上有2000元, 要求通过计算选择出一种存钱方案,使得这笔钱存入银行20年后获得利息最多,假定银行对超出存款期限的那部分时间不付利息.

2.问题分析

为了获得到最多的利息,应该在存入银行的钱到期后马上就取出来,然后再立刻将原本的本金加上当前所或利息作为新的本金存入银行,这样反复操作直到年限满20年为止。

3.源码实现

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    long max = 0, cur = 0;
    float rate[] = {0.63, 0.66, 0.69, 0.75, 0.84};
    int a[] = {1, 2, 3, 5, 8};
    int b[] = {0, 0, 0, 0, 0};
    int c[] = {0, 0, 0, 0, 0};
    int d[] = {0, 0, 0, 0, 0};
    short e[] = {1, 0, 0, 0, 0, 0};
    int m = 5;
    int n = 20;
    int u = 0;
    int i = 0, j = 0, k = 0;

    for(i=0; i<m; i++)
    {
        c[i] = n / a[i];

        if(n % a[i] == 0)
        {
            c[i]++;
        }
    }

    while(1)
    {
        for(i=0; i<m; i++)
        {
            e[i+1] = 0;

            if(d[i]+e[i] >= c[i])
            {
                d[i] += e[i];
                d[i] -= c[i];

                e[i+1]++;
            }
            else
            {
                d[i] += e[i];
                break;
            }
        }

        if(e[m] == 1)
        {
            break;
        }

        u = 0;

        for(i=0; i<m; i++)
        {
            u += a[i]*d[i];
        }

        if(u == n)
        {
            cur = 200000;

            for(i=0; i<m; i++)
            {
                for(j=0; j<d[i]; j++)
                {
                    cur *= (1+a[i]*rate[i]*12/100);
                }
            }

            if(cur > max)
            {
                for(i=0; i<m; i++)
                {
                    b[i] = d[i];
                }

                max = cur;
            }
        }
    }

    printf("%d %d %d %d %d, money=%.2lf\n", b[0], b[1], b[2], b[3], b[4], max/100.0);

    return 0;
}

4.编译源码

$ gcc -o test test.c -std=c89

5.运行及其结果

./test
0 0 0 4 0, money=8841.01

6.结果解释

存4次5年,利息最多,共计本息8841.01

相关文章

  • 存钱问题

    1.问题描述 假设银行整存整取存款不同期限的月息利率为:0.63% 期限为1年0.66% 期限为2年0.6...

  • 存钱的动力问题

    人有成长和反思的能力,回头看自己最初那个可笑的行为,我能明白为何当初坚持不下来——存钱的动力不足,为了获得朋友之间...

  • 109.论“存钱”这件事

    【存钱的意义】 “为什么”要存钱,对于这个问题我的答案是:为了自己。 作为一个女孩子,存钱:你可以买你想买的东西、...

  • 努力存钱

    努力存钱 努力存钱 努力存钱 努力存钱 努力存钱 努力存钱 努力存钱 努力存钱 努力存钱 努力存钱 努力存钱 努力...

  • 年轻人,该不该存钱?

    大部分人(包括我)看到这个问题的第一反应就是,存钱,这不是必须的吗?还用想吗?不存钱的话你拿什么买房结婚啊,不存钱...

  • 存钱!存钱!存钱!

    怎么样才能有钱?钱跟肉一样,想要涨肉,就要多吃少动,要想掉肉就要少吃多消耗。钱也一样,要想存钱,就要多赚少花。今天...

  • 存钱存钱存钱

    重要的事情说三遍!!! 我觉得说一百遍它就会实现啦! 所以我要存钱存钱存钱存钱存钱…… 婚后接二连三的添丁加口,我...

  • 钱研社笔记4:第4步:积累财富的智慧:存钱不仅靠毅力,更靠策略

    先来看个普遍存在的问题:为什么我总是存不下钱? 二大原因 1.存钱策略有问题 问问自己:你存钱的顺序是什么样的? ...

  • 第四步积累财富的智慧:存钱不仅靠毅力,更靠策略

    《月薪3000,零基础也能赚够100万》 张殚 Part1:原因 1.存钱策略有问题 错误:先消费,后存钱 正确:...

  • 存钱存钱

    今天闲来无事,于是好好整理了自己的闲散资金。话说基金躺着躺着也快一年了,也就10%左右的收益率。基本没有怎么动它。...

网友评论

      本文标题:存钱问题

      本文链接:https://www.haomeiwen.com/subject/haqpoltx.html