| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 956 人关注过本帖
标题:[求助]求救-----球钟问题(用堆栈和队列实现)
只看楼主 加入收藏
tonyboy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-4-20
收藏
 问题点数:0 回复次数:3 
[求助]求救-----球钟问题(用堆栈和队列实现)

球钟(Ball Clock)

1.问题描述 球钟是一个利用球的移动来记录时间的简单装置。它有三个可以容纳若干个球的指示器:分钟指示器,五分钟指示器,小时指示器。若分钟指示器中有2个球,五分钟指示器中有6个球,小时指示器中有5个球,则时间为5:32。 球钟的工作原理如下:分钟指示器最多可容纳4个球。每过一分钟,球钟就会从球队列的队首取出一个球放入分钟指示器,当放入第五个球时,在分钟指示器的4个球就会按照他们被放入时的相反顺序加入球队列的队尾。而第五个球就会进入五分钟指示器。按此类推,五分钟指示器最多可放11个球,小时指示器最多可放11个球。当小时指示器放入第12个球时,原来的11个球按照他们被放入时的相反顺序加入球队列的队尾,然后第12个球也回到队尾。这时,三个指示器均为空,回到初始状态,从而形成一个循环。因此,该球钟表示时间的范围是从0:00到11:59。 现设初始时球队列的球数为x(27≤x≤127),球钟的三个指示器初态均为空。问要经过多少天(每天24小时),球钟的球队列才能回复原来的顺序。 2.要求: ①编写计算x个球需要多少天的算法。 ②测试程序一:从键盘输入x,答案用整数形式输出到屏幕。 ③测试程序二:分别计算球的个数x从27到127时,分别需要经过多少天,并把计算结果(以整数形式)保存在一个文件result.txt中。

3.测试数据:

测试数据x 参考答案 27 23 45 378 87 570 88 1026 127 2415

[此贴子已经被作者于2005-4-20 20:18:45编辑过]

搜索更多相关主题的帖子: 指示器 堆栈 钟问题 队列 
2005-04-20 20:16
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 
有乱码的。你再发过帖子

c++/C + 汇编 = 天下无敌
2005-04-20 22:23
luyulin
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2004-12-18
收藏
得分:0 
设stack1,stack2,stack3分别表示分钟指示器,五分钟指示器,小时指示器的栈 队列queue为循环队列你可以初始值为1----x 算法描述 如下:
int flag;
int i, j;
flag=0;
while(!flag)
{if(stack1->size<=4)
   push(stack1,dequeue(queue,e));
else
  if(stack2->size<=11)
     { push(stack2,dequeue(queue,e));
        while(stack1->size)
            enqueue(queue,pop(stack1,e));
}
else
    if(stack3->size<=11)
    {push(stack3,dequeue(queue,e));
        while(stack2->size)
            enqueue(queue,pop(stack2,e));
}
else
   while(stack3->size)
      enqueue(queue,pop(stack3,e));
 enqueue(queue,dequeue(queue,e));//第12个球

     for(j=0;j<x;j++)
        {i=1;
         while(dequeue(queue,e)==i&&i<=x)
            i++;
         if(i==x+1){flag=1;break;}
         }

 本人自己也不知道对不对 胡写一通 语无伦次!!!! 又无注释!!!我菜!请大家指教   
2005-04-23 22:10
luyulin
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2004-12-18
收藏
得分:0 
兄弟们:快看好有挑战的帖子!!!!!!
2005-04-24 11:06
快速回复:[求助]求救-----球钟问题(用堆栈和队列实现)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034542 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved