zoukankan      html  css  js  c++  java
  • 好友的AA制生活

    现在亲友聚会的消费方式,AA制已经成为主流。结帐时有人莫明其妙的失踪,或者是一堆人在柜台前扭打抢着买单的情景,已经不多见了。AA制的表现形式主要有两种:1、每次聚会大家轮流买单;2、聚会由固定一人买单,第二天算清每人的消费额度后再分别付钱给买单人。

    第一种形式适用于聚会成员固定,聚会频率也非常固定的好友聚会。比如每年除夕的年夜饭,姊妹几人每年轮流安排,或者在家里吃,或者到饭店去。每年消费的金额,肯定是不一样的,但是相差不会太多,大家也不会介意。在同事聚会中这种形式有时也采用,并不太多,往往是成员非常固定,消费内容也完全一致时会出现,比如马拉松式的周会后,参会人员轮流请吃工作餐。

    第二种形式出现最频繁,它适用于聚会成员不固定,聚会频率也不固定的好友聚会。比如每逢国家法定节日的老同学聚会,或者是随机出现的同事聚会。这种形式的好处是分账方式非常公平,不足的地方是买单的人需要费神算帐,聚会后还要不停的要帐,非常麻烦。

    这两种形式使用广泛,但是无法适用于以下情况:聚会成员固定,聚会频率极高并且不固定。比如关系很好的朋友,经常性的聚会,或者是关系很好的同事,每天一起吃饭(工作餐)。如果用第一种形式,控制每次消费额度统一,是一个伤脑筋的问题;如果用第二种,每次聚会后都要算帐,操作非常麻烦。因此今天我们要讨论的,是第三种AA制的形式,我们称为“消费即充值”。

    第三种形式是从第二种形式演化而来,但是操作要简单很多。下面我们用一组案例来介绍这种AA制形式。假设有三个好友,分别叫做:Tom、Jerry、David,他们经常一起吃饭、喝酒、喝茶、娱乐,每次消费的项目都不同,因此消费额度也不同,频率每周至少一次,有时多次。

    第三种形式需要有一个“帐本”来作记录,一般用Excel就足够了,用纸记都没问题,如果有一个小的应用程序来记录,就最方便。我在阿里内网做了一个WEB小应用,可以支持这种形式。

    首先为这3个人建立一个“组”,把他们的名字列出来,并且给每人一个“余额”,最开始,每个人的余额都是0。

    姓名

    余额

    Tom 0
    Jerry 0
    David 0

    建好以后的第一次聚会,是吃晚饭,Tom买的单,总共150元。由于是“消费即充值”,那么就给Tom加上150元,变成下面的结果:

    姓名

    余额

    Tom 150
    Jerry 0
    David 0

    然后再按照参与人进行分账,每人平摊50元,于是每人减去50,变成:

    姓名

    余额

    Tom 100
    Jerry -50
    David -50

    那么这次聚会的帐就记好了,Jerry和David并不用付钱给Tom,因为第二次聚会可能很快就来了。第二次聚会去了酒吧,3人一共消费了90元,Jerry买了单,那么我们就继续刚才的记帐方法,给Jerry充值90:

    姓名

    余额

    Tom 100
    Jerry 40
    David -50

    然后再分账,每人平摊30,记帐工作结束:

    姓名

    余额

    Tom 70
    Jerry 10
    David -80

    大家可以发现,每次记帐之后,所有人的余额加在一起,总是等于0。有点类似于会计学的“借贷必相等”的意思。虽然每次消费的额度都不同,但是从长远来看,每个人付出的金额,是趋向于平均值的。

    这里会出现一个问题,可能有人在一段时间,参与了多次聚会,但是却没有付过钱,可能的原因是他不太擅长安排聚会,而买单的时候,往往由聚会的主办人来付钱的。我们可能会看到下面这个情况:

    姓名

    余额

    Tom 520
    Jerry 30
    David -550

    遇到这种情况可以非常简单的平衡,那就是David直接给Tom一笔现金,比如给600,然后在帐本里面,给David加上600,而给Tom减去600,变成:

    姓名

    余额

    Tom -80
    Jerry 30
    David 50

    这样变形成了新的平衡。余额的总和,仍然是0。

    有时聚会的情况还会变得复杂一些,比如一次聚会有3个人付了钱,分别付在晚餐、酒会、夜宵,那么只要分别记3次即可,记帐的过程并没有变复杂。

    总结一下,第三种AA制的形式,既保留了第二种形式的公平性,又大大简化了聚会之后的分账过程,大家不用第二天再去操心每个人应该给主办人多少钱,而只要记帐。反正来日方长,何必每次都要把钱付清呢。

  • 相关阅读:
    C# 进制转换
    使用Struts1完成用户登录功能
    【Maven实战】仓库介绍和Nexus的安装
    【Maven实战】依赖的聚合和版本管理
    【Maven实战】传递性依赖的问题
    【Maven实战】依赖的范围
    【Maven实战】archetype的使用和eclipse的配置
    【Maven实战】Maven开发环境的搭建和案例展示
    【手机安全卫士02】连接服务器获取更新信息
    【手机安全卫士01】项目Splash页面的开发与设计
  • 原文地址:https://www.cnblogs.com/powerson/p/2467697.html
Copyright © 2011-2022 走看看