博客因为一些事情中断了许久,cforth开发工作也中断了许久。这两天跟同学讨论了一个小题目,拿出来讲一讲。在金融行业里经常有工作日和自然日的区别,这次的目的是写出一个正确的工作日到自然日的转换公式。题目是这样的:
1,一周有7个自然日,设星期一为一周的第一天。
2,一周有5个工作日,周一到周五。
3,当日为T日,是一周的第T个自然日。
3,计算N个工作日后,是多少个自然日D?
考虑并修改多次以后,以下是得出的公式:
5 >= t >= 1
n <= (5 - t) d = n
n > (5 - t) d = ((n - (5 - t) - 1) / 5) * 2 + 2 + n
6 >= t >= 7
n <= 5 d = 7 - t + n
n > 5 d = ((n - 1) / 5) * 2 + 7 - t + n
应该有更简单的公式,只是不想再多思考了,我数学太差了。。。
源码地址:
阅读(1336) | 评论(0) | 转发(0) |