请您留下宝贵的建议吧:)
广西百色高中欢迎您!

| 网站首页 | 学校概况 | 软件下载 | 图片中心 | 雁过留声 | 视频资源 | 校长信箱 | 内 部 网 |
| 同 学 录 | 网络办公 | 教学课件 | 优秀教案 | 试卷下载 | 教学素材 | 教学论文 | 电子图书 |

 
您现在的位置: 广西百色高中校园网 >> 学校概况 >> 学生频道 >> 信息技术 >> 精典程序 >> 文章正文 用户登录 新用户注册
   
   

枚举法          【字体:
枚举法
作者:仔仔    文章来源:本站原创    点击数:    更新时间:2006-9-26

   有4个学生,上地理课时提出我国四大谈水湖的排列次序如下:

甲:洞庭湖最大,洪泽湖最小,鄱阳湖第三;

乙:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三;

丙:洪泽湖最小,洞庭湖第三;

丁:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三;

   对于各湖泊应处的位置,每个人只说对了一个。根据以上描述和条件,编写程序,让计算机判断一下各湖泊应该处于第几位。

 

解题思路:设置洞庭湖、洪泽湖、鄱阳湖、太湖分别用字母A、B、C、D代表,最大到最小依次用数字4——1表示。应用枚举法可以解决此问题,不过稍微复杂罗嗦点。

源程序如下:

program hupo;
var
  a,b,c,d:integer;
begin
  for b:=1 to 4 do
    for a:=1 to 4 do
      if ((b=1) and (a<>2)) or ((a=2) and (b<>1)) then
       if a<>b then
       for c:=1 to 4 do
         if (a<>c) and (b<>c) then
          if (a+b+c<>7) and (a+b<>5) and (a+c<>6) and (b+c<>3) then
          for d:=1 to 4 do
           if c<>d then
            if  (b+a<>5) and (b+c<>7) and (b+d<>6) then
               if (a+c<>4) and (a+d<>3) and (c+d<>5) then
                 if (c+d<>5) and (c+b<>7) and (c+a<>6) then
                   if (d+b<>4) and (d+a<>3) and (b+a<>5) then
                        writeln('a=',a,' b=',b,' c=',c,' d=',d)

end.

改进程序:

program ygzj;
var
a,b,c,d:integer;
begin
for a:=1 to 4 do
  for b:=1 to 4 do
    for c:=1 to 4 do
     begin
      d:=10-a-b-c;
      if ord(a=1)+ord(b=4)+ord(c=3)=1 then
        if ord(b=1)+ord(a=4)+ord(c=2)+ord(d=3)=1 then
          if ord(b=4)+ord(a=3)=1 then
            if ord(c=1)+ord(d=4)+ord(b=2)+ord(a=3)=1 then
              if a*b*c*d=24 then
              writeln('洞庭湖第':3,a:3,'洪泽湖第':3,b:3,'波阳湖第':3,c:3,'太湖第':3,d:3);
      end;
writeln
end.

文章录入:qinjun    责任编辑:qinjun 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
          最新热点       最新推荐       相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

       
     
     
     
    广西百色高中欢迎您!   网站地图 | 联系站长 | 友情链接 | 用户排行 | 版权申明 | 管理登录
    版权所有 Copyright© 2005-2010 广西百色高中 (桂ICP备05013955号)
    学校地址:广西百色市城乡路93号 电话号码:0776-2824142 传真:0776-2847293 邮政编码:533000
    站    长:覃钧  QQ:75331465            改版时间:2007年8月20日