将小数转化为分数的算法

问题: 对于一个分数,使用除法就能够得到其小数表示。如: 2/3 = 0.666666… 一般计算器都支持将分数转化成小数的计算模式。但是反过来,拿到一个小数,怎么得到其分数的表示形式呢?似乎没有像除法这样直接的算法,而且一般的计算器和计算程序都没有将分数转化成小数的模式。 比如,拿到一个小数:0.571428571428…,怎么知道它等于4/7? 分析: 小数可分为以下几种: ... [More]

销售线索强制分布派发算法

问题: 一个呼叫中心,有电话专员若干名,主管一名。这位主管每天都会从固定的渠道拿到需要跟踪的销售线索列表,这些销售线索是分批到达的,每批列表里的销售线索数量不等,有多有少。这位主管每次拿到一批线索列表后,便将它们分派给电话专员们去跟踪。有些电话专员经验丰富,她会给他多派些;有些是新来的,就少派些;对于大多数专员,应该分到数量相同的线索。这些多派少派,可以使用权重来表示。比如对于大多数专员,权重是1... [More]

使用静态类的构造函数,保证某些操作在整个程序运行过程中只运行一次

问题: 有一些初始化操作,需要在整个程序运行过程中,只运行一次。除了使用单例模式,或者在 Main() 中实现,还有其他方法么? 比如,有一个任务处理程序,每次点击Run按钮,程序就会调用一个静态类StepsProcessor.cs中的ProcessSteps()方法依次对指定的任务列表进行处理。这个静态类会发布三个事件: 开始执行任务列表 全部任务执行成功 某个任务执... [More]