美文网首页
2018-03-28 一个小问题的算法

2018-03-28 一个小问题的算法

作者: SGWoodEgg | 来源:发表于2018-03-14 17:28 被阅读0次

今天在朋友圈看到一个问题:
有个东西他的期限只有30天 然后你只有180块钱 去买这个东西之后你每天能领十块钱.等到你18天之后你又可以买这个东西买了之后你又可以每天领十块钱。如此累计要多久自己的手上才能有八个这样的东西.(注意每个东西期限只有30天)

我想了一下似乎可以用计算机解决,然后就自己用算法实现了一下,用到了循环和容器
代码如下

int money = 180;//初始钱
    vector<int> product;//购买产品的容器
    int day = 0;//天数

    while (product.size() < 8)
    {

        for (vector<int>::iterator i = product.begin(); i != product.end();)
        {
            if (*i < 1)
            {
                i = product.erase(i);
            }
            else
            {
                money += 10;
                (*i)--;
                ++i;
            }
        }
        while (money >= 180)
        {
            for (int i = 0; i < money / 180; i++)
            {
                product.push_back(30);
            }
            money = money % 180;

            int index = 0;
            for (int leftDay : product)
            {
                if (leftDay == 30)
                {
                    money += 10;
                    product[index]--;
                }
                index++;
            }
        }
        day++;
        CCLOG("%ddays have money::%d,the number of financial products is%d", day, money, product.size());
    }
    CCLOG("the %d days have 8 financial products", day);

根据我们输出我们可以看到第59天会得到8个;


image.png

相关文章

  • 2018-03-28 一个小问题的算法

    今天在朋友圈看到一个问题:有个东西他的期限只有30天 然后你只有180块钱 去买这个东西之后你每天能领十块钱.等到...

  • 递归算法

    我们先用递归算法来解决一个小问题,当然这个小问题不必用算法来解,只是为了对递归做个说明。 问题:在一个数组中找出最...

  • 分治算法(汉诺塔问题)

    一. 算法介绍: 分治算法,其实就是把一个大问题看成若干个小问题,解决了所有的小问题,那么大问题就解决了,原问题的...

  • 面对分治算法,看这两道题就够了

    分治算法 分治,"分而治之"。从字面上理解就是分---治,把大的问题分成小问题,解决一个一个小问题,之后把问题的答...

  • 快速过算法设计思想

    分而治之 算法设计的一种方法。 它将一个问题分成多个和原问题相似的小问题,递归解决小问题,再将结果合并以解决原来的...

  • 基本算法思想之递推

    分治算法的基本思想是将一个计算复杂的问题分为规模较小,计算简单的小问题求解,然后综合各个小问题,而得到最终问题的答...

  • 基本算法思想之分治

    分治算法的基本思想是将一个计算复杂的问题分为规模较小,计算简单的小问题求解,然后综合各个小问题,而得到最终问题的答...

  • 11.分治算法

    分治算法是将一个大问题分成几个小问题来进行处理 Divide & Conquer Algorithm Merge ...

  • 算法设计思想-分而治之

    1. 是什么 算法设计中的一种方法。 将一个问题分成多个和原问题相似的小问题,递归解决小问题,再将结果合并以解决原...

  • 动态规划算法(01背包问题)

    一. 动态规划算法介绍: 动态规划算法和分治算法类似,也是将待求解问题分成若干个小问题一步步求解,不同的是,每一个...

网友评论

      本文标题:2018-03-28 一个小问题的算法

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