有的问题用别的语言写,可能会稍花一些时间,却很适合用Prolog来解决。如Advent of Code的2020年度的第1道问题(https://adventofcode.com/2020/day/1),这个问题本身不难,但用Prolog的话,完全不需要考虑算法。当初用Prolog完成时,感觉自己像是在抖机灵。

题目大意是,从给出一堆数字,找出相加等于2020的2个(第2小问为3个),然后再求出那些加数的乘积。

我直接把那堆数字复制到Vim上,用Vim可以轻易在这个行列前面和后面统一加上内容。然后写好相关谓词,设定哪些数字相加能得到2020。不费吹灰之力,就得到了结果。


题目大意是,从给出一堆数字,找出相加等于2020的2个(第2小问为3个),然后再求出那些加数的乘积。

我直接把那堆数字复制到Vim上,用Vim可以轻易在这个行列前面和后面统一加上内容。然后写好相关谓词,设定哪些数字相加能得到2020。不费吹灰之力,就得到了结果。
