ฉันกำลังพยายามเรียนอารัมภบท ฉันต้องการเขียนโค้ดใน prolog สำหรับรายการตัวเลขทั่วไป จนถึงตอนนี้ฉันมี pick_numbers_general(List, N, NumList)
โดยที่ List
เป็นรายการทั่วไป (รวมถึงรายการที่ซ้อนกัน) และ N
เป็นตัวเลข
เพรดิเคตจะสำเร็จหาก NumList
เป็นรายการตัวเลขใน List
รวมถึงตัวเลขที่อยู่ในรายการที่ซ้อนกัน มากกว่า N
ลำดับการปรากฏตัวของตัวเลขใน Numlist
จะเหมือนกับลำดับใน L
ดังนั้น ตัวอย่างเช่น pick_numbers_general([g,h,1,[2,[n,3]],p],1,NumList)
จะเป็นจริงเมื่อ NumList
เป็น [2,3]