网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月10日漏签0天
vb吧 关注:156,019贴子:1,166,241
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 首页 上一页 1 2 3 下一页 尾页
  • 98回复贴,共3页
  • ,跳到 页  
<<返回vb吧
>0< 加载中...

回复:编程解决“爱因斯坦经典逻辑题”,大家是否有兴趣一试呢?

  • 只看楼主
  • 收藏

  • 回复
  • 涐吢铱舊囿儚
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我的那份代码,修改一下就可以解决楼上的问题了。
思维方式不用变,只需要整理一下条件、还有就是增加1重循环。
代码在IDE中运行,基本是“1ms完成”,偶尔会是2ms;
 而在编译后几乎都显示“0ms”,偶尔显示1ms。


  • 涐吢铱舊囿儚
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复21楼:
把你的代码粗略看了下……暂时没明白你的“原理”。
不过,至少你的代码存在一个问题是:结果是依赖“数据顺序”的。
只要把其中一些“原始数据”随便调整一下秩序,结果就不正确了。
等会儿,有空的时候仔细跟踪一下你的代码执行过程,看看能否理解你的“想法”。

下面图中的“结果”,是我已经“调乱”了一部分数据顺序的了。
(注释文本是“已知条件”,跟我在7楼发的题目逐条对应)


2026-05-10 10:13:35
广告
不感兴趣
开通SVIP免广告
  • 初音七奈
  • 钩子编程
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
再发一下代码思路吧(其实昨天也发过了,但是被度娘连同链接一起吃了):
定义二维数组 n(0 To 4, 0 To 4),数组行依次表示颜色、国籍、饮料、烟、宠物,列表示对应行的第几个值,比如 n(0, 0) 的意思就是“颜色是红色”,n(2, 3) 意思是“饮料是矿泉水”(嗯,楼主也说过了翻译会不同,这个对应楼主题目里的“开水”),具体对应关系在代码中的字符串数组给出;数组元素取值1~5,表示房子的位置,编号从左到右依次为1~5,比如 n(0, 0) = 1 表示“红房子在1号位置”
程序运行过程就是根据限制条件向数组中填数的过程,确实跟数独有点相似之处;具体用的算法是回溯法,在数表中逐格填入数字,每填入一个数字就与之前已填入的数字进行比较判断:首先,每一行不能有重复数字(1~5必须各出现一次);其次,就是题目中的“提示”条件了,比如“英国人住红房子”这个条件,英国人是n(1,0),红房子是n(0,0),这两者应该是同一座房子,即取值应该相等,满足n(0,0)=n(1,0),其他条件也是类似换算;而这些条件并不是每填一个数字就都需要判断,只有在填入与条件相关的后一个数字时需要判断,所以用了Select Case,根据当前填的是哪一个格子来决定需要判断哪个条件


  • 涐吢铱舊囿儚
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
还有谁写出解题代码了呀?

上面21楼,micu_con 给了份代码,此方案优点是运行速度快。
不足之处是“源数据顺序”与相关代码逻辑是写死的;解题流程不容易理解。
还有谁能解么?
较好的方法,耗时不应该超过30ms;
若需要耗费0.5秒或更长时间,你得认真考虑你的方法有什么不当了。


  • sunruisunrui
  • 小吧主
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
各位大佬这个风气很好,将VB吧带回了学术交流。赞。
建议吧主置顶加精


  • sunruisunrui
  • 小吧主
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@放飞希望,追逐梦想 推荐吧主加精


  • 涐吢铱舊囿儚
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

很多时候,度娘真的有点恶心…………



  • 333xxxyyywww33
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
21楼的代码 运行结果
蓝字是加的一段输出 乱序数据
如果加几个按钮 把结果分几段输出 就有【填写】一般的效果


2026-05-10 10:07:35
广告
不感兴趣
开通SVIP免广告
  • 月城翁
  • 钩子编程
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
爱因斯坦谜题:
在一条街上有颜色互不相同的五栋房子,不同国籍的人分别住在这五栋房子里,每人抽不同品牌的香烟,喝不同的饮料,养不同的宠物。已知如下情况:
1. 英国人住红色房子里。
2. 瑞典人养狗。
3. 丹麦人喝茶。
4. 绿色房子(就)坐落在白色房子的左面。
5. 绿色房子的主人喝咖啡。
6. 抽Pall Mall香烟的人养鸟。
7. 黄色房子的主人抽Dunhill香烟。
8. 挪威人住第一间房子。
9. 五座房子中间的那座的主人喝牛奶。
10. 抽Blends香烟的住在养猫人的隔壁。
11. 养马的人住在抽Dunhill香烟者的隔壁。
12. 抽Blue Master香烟的喝啤酒。
13. 德国人抽Prince香烟。
14. 挪威人住的房子在蓝色房子的隔壁。
15. 抽Blends香烟的人有一个喝水的邻居。
问:谁养鱼?
谜题的英文原文:
Let us assume that there are five houses ofdifferent colors next to each other on thesame road.
Ineach house lives a man of a different nationality. Every man has his favorite drink, his favorite brand ofcigarettes, and keeps pets of a particular kind.
1.TheEnglishman lives in the red house.
2.The Swede keeps dogs.
3.The Dane drinks tea.
4.Thegreen house is just to the left of the white one.
5.Theowner of the green house drinks coffee.
6.The Pall Mall smoker keeps birds.
7.Theowner of the yellow house smokes Dunhills.
8.The manin the center house drinks milk.
9.The Norwegian lives in the first house.
10.TheBlend smoker has a neighbor who keeps cats.
11.The man who smokes Blue Masters drinks bier.
12.Theman who keeps horses lives next to the Dunhill smoker.
13.The German smokes Prince.
14.TheNorwegian lives next to the blue house.
15.TheBlend smoker has a neighbor who drinks water.
Thequestion to be answered is: Who keeps fish?
这道迷题出自1981年柏林的德国逻辑思考学院。


  • 333xxxyyywww33
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复 miku_con :
我原先对此类逻辑问题,都是采用多重循环,根据已知条件 用if 终止循环。用时较长。
对你的代码 ,不少地方 看不 懂。
比如n(ij) f ,k select .......输出显示
请你给以简要的说明。
用对待【数独】问题那样 采用【填空】法 如能先后显示,也生动直观。
谢谢!!!


  • 涐吢铱舊囿儚
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

源码分享链接的 BASE32编码:
NB2HI4DTHIXS64DBNYXGEYLJMR2S4Y3PNUXXGLZRIRKXCWLFJNCGSYTII44XSSSMII4U23RYJNIQ


  • 涐吢铱舊囿儚
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个没有人能玩出新花样?


  • 最爱嫣然0一笑
  • 函数调用
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主你好,想请问你一个问题。就是已经打包好的安装软件能不能用vb分解打开,想看看程序是怎么写的,谢谢谢谢


  • 最爱嫣然0一笑
  • 函数调用
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 首页 上一页 1 2 3 下一页 尾页
  • 98回复贴,共3页
  • ,跳到 页  
<<返回vb吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示