Optimization 这只钟是什么时候买的?

Optimization 这只钟是什么时候买的?,optimization,Optimization,健身房墙上的时钟还显示了一天的名称和一个月的哪一天。今天早上它显示星期二-23 很明显,这一天的循环周期为7天,并且正确地显示了“星期二”。然而,一个月中的某一天大概是以31为周期旋转的,并且错误地显示为“23”——今天是12月1日(即不是11月31日)。因此,随着时间的推移,这个错误一直在慢慢累积 假设从来没有人重置过时钟,那么最优雅、最快捷、最优化的方式是什么,来建议购买全新时钟的一些可能日期 (显示时钟何时将再次显示正确的日期/数字组合的奖励积分。)2017年10月1日是时钟何时将再次显示

健身房墙上的时钟还显示了一天的名称和一个月的哪一天。今天早上它显示星期二-23

很明显,这一天的循环周期为7天,并且正确地显示了“星期二”。然而,一个月中的某一天大概是以31为周期旋转的,并且错误地显示为“23”——今天是12月1日(即不是11月31日)。因此,随着时间的推移,这个错误一直在慢慢累积

假设从来没有人重置过时钟,那么最优雅、最快捷、最优化的方式是什么,来建议购买全新时钟的一些可能日期


(显示时钟何时将再次显示正确的日期/数字组合的奖励积分。)

2017年10月1日是时钟何时将再次显示正确的日期/数字组合。

现在=2009年12月1日

当月第1天减去上月第23天=8天(假设每月31天)

向后移动计算非31天月

11月、9月、6月、4月、2月(X3),11月=8天偏移量

那么它是在2008年11月之前买的

我没有为它编写一行代码,所以如果答案太离题,请原谅

一周中的某一天(即周二等)总是正确的,因此它与您的问题无关

假设非闰年,您可以构建一个包含12行(每月1行)的表,其中包含本月天数减去31

  • 1月0日
  • 二月三日
  • 3月0日
  • 四月一日
  • 5月0日
  • 六月一日
  • 7月0日
  • 8月0日
  • 九月一日
  • 10月0日
  • 11月1日
  • 12月0日
通过将此列表中的相关编号添加到上个月的日期中,您可以为每个月的第一天构建一个显示日期的表格。如果数字为负数或等于零,则在数字上加31

i、 e.从09年12月1日(时钟显示日期23)起,您可以转到1月10日。 你看这张表,发现Dec旁边的数字是0。 将0添加到23,您就知道在1月1日10日,时钟将显示23

从2009年1月1日开始,您知道2月1日和2月10日将显示的日期是23

从2010年2月1日开始,您可以计算10年3月1日的值,它是23+(-3)=20

。。。等

所以,现在,在这个表中每个月初的值为1时,您知道这个月的日期是正确的


若您必须包含闰年,则需要第二个表,其中包含闰年的值,或者对二月进行例外


如果您想对以前的日期使用此计算,请从表中减去数字,当您获得的数字超过31时,只需减去31即可获得日期


使用这些表格并考虑闰年。 最后一个时钟正确的日期是08年9月30日(在08年7月1日和08年9月30日之间正确)


下一个正确的日期是:2017年10月1日,在2017年11月30日仍然正确。

在Excel中,您可以测试A2中的任何日期,查看时钟在该日期是否正确,公式为
=MOD(A2+19,31)+1=DAY(A2)

听起来更像一个逻辑/智商/数学问题:PIt比编程更像算法;)时钟在一个有夏令时/夏令时的时区吗?这不是家庭作业,尽管我承认这看起来可能是一个这样的问题。这是算法,但这是发展,如果不是纯粹的编程!如果一个名声接近5000的人想在家庭作业上得到帮助,我很乐意为他提供帮助,我可以通过一个程序来完成,但我决定使用一个电子表格,左边有一个1-31列,一个递增日期列,这是一个测试,看看日期是否匹配。倒转时钟最后一次是在2008年9月30日正确的。事实上,时钟从2008年7月1日到2008年9月30日是正确的。在此之前,它是正确的2003年12月1日至2004年2月29日。啊,是的,excel确实是做日期代数最准确的工具#完全失败是的,你在这两个方面都是正确的,因为你提供了答案而对你加以修饰:)