当前位置: 首页 > 工具软件 > 蓝房子 > 使用案例 >

五房子问题

段哲圣
2023-12-01

测试一下 CSDN的博客是否支持MarkDown

## 五房子问题 

抽象逻辑表达式

自定义运算符,为了便于识别,设计成2位字符;

**自定义运算** 
| 规则名称   | 运算符   | 说明  |
| --------   | :-----:  | ------------- |
| 同房子     |  == | 在同一间房子; <br/> 例如: "英国人住红色房子" 表达式为:"英国==红色"  |
| 第N间房子  | ==  | "==N" N为数字;<br/>例如 "白色房子在第四幢" 表达式为:"白色==4" |
| 中间房子   | ==  | "==中间",表示中间房子;<br/> 例如“住在中间房子的人喝牛奶” 表达式为: "牛奶==中间"(该规则取消,用"==N"替代) |
| 邻居,隔壁 | <>  |"A<>B" 表示A与B相互为邻居; <br/> 例如:“挪威人住蓝色房子隔壁”表达式为:"挪威<>蓝色"  |
| 左边隔壁   | =>  | "A=>B" 表示A在B的左边隔壁;<br>例如“绿色房子在白色房子左隔壁" ,表达式为:"绿色=>白色" |
| 右边隔壁   | <=  | "A<=B" 表示A在B的右边隔壁;<br>例如:“绿色房子在白色房子右隔壁" ,表达式为:"绿色<=白色" |
| 在左边     | \>> | "A>>B" 表示A在B的左边,但不一定是隔壁;<br>例如“绿色房子在白色房子左边" ,表达式为:"绿色>>白色"  |
| 在右边     | <<  | "A << B" 表示A在B的右边,但不一定是隔壁;<br>例如“绿色房子在白色房子右边" ,表达式为:"绿色<<白色"|

规则名称运算符说明
同房子==在同一间房子; 
例如: "英国人住红色房子" 表达式为:"英国==红色"
第N间房子=="==N" N为数字;
例如 "白色房子在第四幢" 表达式为:"白色==4"
中间房子=="==中间",表示中间房子;
例如“住在中间房子的人喝牛奶” 表达式为: "牛奶==中间"(该规则取消,用"==N"替代)
邻居,隔壁<>"A<>B" 表示A与B相互为邻居; 
例如:“挪威人住蓝色房子隔壁”表达式为:"挪威<>蓝色"
左边隔壁=>"A=>B" 表示A在B的左边隔壁;
例如“绿色房子在白色房子左隔壁" ,表达式为:"绿色=>白色"
右边隔壁<="A<=B" 表示A在B的右边隔壁;
例如:“绿色房子在白色房子右隔壁" ,表达式为:"绿色<=白色"
在左边>>"A>>B" 表示A在B的左边,但不一定是隔壁;
例如“绿色房子在白色房子左边" ,表达式为:"绿色>>白色"
在右边<<"A << B" 表示A在B的右边,但不一定是隔壁;
例如“绿色房子在白色房子右边" ,表达式为:"绿色<<白色"

 


将规则转换为表达式:
1、英国人住红色房子                        英国==红色
2、瑞典人养狗                            瑞典==小狗
3、丹麦人喝茶                            丹麦==红茶
4、绿色房子在白色房子左面                绿色>>白色
5、绿色房子主人喝咖啡                    绿色==咖啡
6、抽pallmall香烟的人养鸟                pallmall==鸟
7、黄色房子主人抽dunhill香烟            黄色==dunhill
8、住在中间房子的人喝牛奶                牛奶==3 或者  牛奶==中间
9、挪威人住第一间房                        挪威==1
10、抽blends香烟的人住在养猫人隔壁        blends<>猫
11、养马的人住抽dunhill香烟的人隔壁        马<>dunhill
12、抽bluemaster的人喝啤酒                bluemaster==啤酒
13、德国人抽prince香烟                    德国==prince
14、挪威人住蓝色房子隔壁                挪威<>蓝色
15、抽blends香烟的人有—个喝水的邻居    blends<>水
 

 类似资料: