我出个题目。

dsd999 2012-06-08 10:21:25
一块带日历的机械表,在多少天后日历又能正确。

比如,现在是2012年1月1日,机械表的日历也是1日,
到2012年3月1日的时候,机械表的日历是30日,现在出现了偏差。

问不调的情况下,到哪天日历又能一样。

这个题目不难,关键是集思广益,看看有多少思路。

...全文
226 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xn4545945 2012-06-21
  • 打赏
  • 举报
回复
机械表的周期是每个月31天;还是30天的,31天是准确的,只有二月不准呢?
我觉得应该先分闰年和非闰年,记下和真实每个月多出的天数,当天数正好为一年(分365和366来讨论)时,日历就又能一样了!
BinaryTreeEx 2012-06-21
  • 打赏
  • 举报
回复
求最小公倍数吧
cloudszhang 2012-06-20
  • 打赏
  • 举报
回复
1月到12月,差别的日期是,0,2(3), 0,1,0, 1, 。。。
首先得到当前日期,从开始有差别之后计算,差别的和到达30,即日期又开始正确了
jy02684358 2012-06-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
先算出机械表走的速度v‘=(当前显示的时间-2010年1月1号)/(当前实际日期-2010年1月1号)
实际的正常速度计为v=1
下次再次相同所需要的天数等于(明年的这个时候-机械表当前的显示)/(v’-v)
[/Quote]
闰年和平年的2月是不一样的,你这样是算不出准确的值的。
你要是用计算机来做,给你个思路。
在起始时间上不断加1,然后算出真实日期(方法很多的,自己做还是调用系统方法你可以自己考虑),机械表是固定周期31的话日期也是很好算的,加一次做一次比较,当二者相同的时候把你的计数器的值显示出来就知道天数了。这个应该是跟起始日期有关系的不同的起始日期应该出来的结果不一样,不过说不定有周期性也不好说。
freud.wy 2012-06-08
  • 打赏
  • 举报
回复
先算出机械表走的速度v‘=(当前显示的时间-2010年1月1号)/(当前实际日期-2010年1月1号)
实际的正常速度计为v=1
下次再次相同所需要的天数等于(明年的这个时候-机械表当前的显示)/(v’-v)
RiqueZhang 2012-06-08
  • 打赏
  • 举报
回复
不准是因为2012年2月是29天,但机械表的日历的每月是31天,所以就会出现2012年3月1日的时候,机械表的日历是30日

[Quote=引用 2 楼 的回复:]

不准是因为把二月也算成30天了?
[/Quote]
昵称很不好取 2012-06-08
  • 打赏
  • 举报
回复
不准是因为把二月也算成30天了?
RiqueZhang 2012-06-08
  • 打赏
  • 举报
回复
机械表的日历的周期是31
假设Y年M月D日那一天日历又能一样,该天距2012年1月1日为X天(X>60),则有(X+1)%31=D
再者若Y年M月D日的日历一样,则日历再一次一样的第一天必然是Y年M月1日,此天距2012年1月1日XX天,则有XX%31=0
然后就从2012年3月1日开始按月递增的方式求出Y与M满足于XX%31=0即可

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧