posts - 18,  comments - 104,  trackbacks - 0
条件:1K内存,1MHzCPU,每秒可以改变2^20次状态。问:一个程序最长的运行时间是多少? 

答: 首先程序是确定性的,就说明内存的状态不会重复,否则就永远结束不了。从这一点出发,可以知道内存的状态共有 2^8k , 然后CPU每秒改变 2^20 个状态,所以这台计算机最长出现不重复的状态 2^(8k-20)秒。
posted on 2009-10-15 10:57 尹东斐 阅读(3584) 评论(12)  编辑 收藏 引用

FeedBack:
# re: 最长运行时间(百度笔试题)
2009-10-15 11:06 | wulin
汗,我当时就想写这个答案的,但是又不确定,不知道这么分析,早知道写上了。
这个题似乎也挺简单,不过是不是需要留出存储程序的内存空间呢?  回复  更多评论
  
# re: 最长运行时间(百度笔试题)
2009-10-15 11:12 | 尹东斐
@wulin

不需要考虑存储程序的空间,因为数据和程序在内存中完全没有区别。所以从某种角度来看,程序也是数据的一种。  回复  更多评论
  
# re: 最长运行时间(百度笔试题) [未登录]
2009-10-15 12:33 | lee
内存状态不会重复??内存里不就是0,1么,重复指的是什么意思?  回复  更多评论
  
# re: 最长运行时间(百度笔试题)
2009-10-15 16:52 | yindf
@lee

重复指: 比如说内存原来是 10101010101010 如果你的程序运行了一会,内存又成为 10101010101010 的话,那么你的程序肯定不会正常结束的。

这并不是指普通的死循环,死递归等等,而是指计算机的状态又回到原点了。  回复  更多评论
  
# re: 最长运行时间(百度笔试题)
2009-10-15 18:09 | Vincent
能说下其他几道笔试题吗?^_^  回复  更多评论
  
# re: 最长运行时间(百度笔试题) [未登录]
2009-10-17 22:57 | steven
这个题目真是不知所云,答案也是一样,莫非是我太out了?  回复  更多评论
  
# re: 最长运行时间(百度笔试题)
2009-10-18 08:00 | Chika
这是什么部门的笔试题啊?  回复  更多评论
  
# re: 最长运行时间(百度笔试题)
2009-10-24 08:57 | 淡月清风
这问题,真是不之所云。  回复  更多评论
  
# re: 最长运行时间(百度笔试题)
2009-10-24 10:14 | yindf
@Vincent

这题目也是别人告诉我的,其他题目据说不是很难。  回复  更多评论
  
# re: 最长运行时间(百度笔试题)
2009-10-24 10:15 | yindf
@steven

这种开放性的题目是比较难找到切入点,不过仔细想想还是有办法的。  回复  更多评论
  
# re: 最长运行时间(百度笔试题)
2010-03-13 08:18 | zhjx
那么询问如果运行一段时间时是10101010101010,但是再过了一段时间之后是10101010101010这种情况为何不可以?  回复  更多评论
  
# re: 最长运行时间(百度笔试题)
2010-03-14 11:24 | yindf
@zhjx

那就是说你的程序存在从状态10101010101010 到状态10101010101010的一个回路,那么你的程序就永远不会结束了。(要考虑状态不仅包括数据,连内存中的指令也一样了)。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2009年10月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(4)

随笔档案

文章分类

文章档案

相册

好友博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜