• 帝国的困境:80-20法则


    #include <vector>
    #include <stdlib.h> 
    #include <time.h>
    
    using namespace std;
    
    class Person
    {
    public:
        bool consume_money() {
            if(money >= 10) {
                money -= 10;
                return true;
            } else {
                return false;
            }
        }
        void earn_money() {
            money += 10;
        }
        void show_money() {
            printf("%d	", money);
        }
    
    private:
        uint32_t money = 100;
    };
    
    int main()
    {
        vector<Person> society(10);
        srand(time(NULL));
        auto consumption_cycle = [&society] {
            for(auto &p : society) {
                bool re = p.consume_money();
                if (!re)continue;
                uint8_t producer_id = (uint8_t)(rand() % 10);
                society[producer_id].earn_money();
            }            
        };
    
        for (int i = 0; i < 100000000; i++) {
            consumption_cycle(); //100000000 cycles later
        }
    
        for (auto &p : society) {
            p.show_money();
        }
        getchar();
        return 0;
    }

    结果:

    earn_money的人是用时间为seed的纯随机分配,结果仍然是20%的人掌握了71%的财富

    真实的社会中,有能力先赚到钱的人会加大投资,掌握更多的资源,在earn_money中有更高的优先级。

    中国5000年的文明史中,一个全新王朝数百年后基本上都会崩溃,贫富差距过大是底层人民革命的根本原因。

    忧国忧民的人,大概都是看到了这个问题,又想不出办法来解决吧,你有什么好的算法可以解决这个问题吗?

  • 相关阅读:
    golang单例模式
    PHP打开并修改文件
    关于文件服设计的一些想法
    Api
    golang Iterate through the fields of a struct in Go
    zookeeper note
    centos 6 install protoc
    todo
    linux route
    build http_load
  • 原文地址:https://www.cnblogs.com/awiki/p/13781066.html
Copyright © 2020-2023  润新知