You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prolog实现verify谓词:验证元素在和为10数字对间的出现次数

Prolog谓词verify的实现需求与现有代码

需求描述

实现Prolog谓词verify(List,Elt,Occ),当元素Elt在每对和为10的数字之间恰好出现Occ次时,谓词返回成功。

示例测试用例

  1. verify([a,r,b,6,?,?,?,4,x,x,b,1,5,?,?,?,e,e,e,5],?,3) 应返回true
  2. verify([a,a,6,?,9],?,3) 应返回false
  3. verify([9,?,?,?,1,?,?,?,9,?,?,?,1,?,?,?,9],?,3) 应返回true
  4. verify([5,?,?,a,a,a,a,a,a,a,a,a,?,5,?,5],?,3) 应返回false

现有实现代码

verify( [],    _,   _   ) .
verify( [H|T], Elt, Occ ) :- 
  integer(H),
  Y=H,
  verifyWithNb(T,Elt,Occ,Y,0).
verify( [H|T], Elt, Occ ) :- 
  \+integer(H),
  verify(T,Elt,Occ).

verifyWithNb( [H|T], Elt, Occ, Y, Help ) :- 
  H==Elt,
  New is Help+1,
  verifyWithNb(T,Elt,Occ,Y,New) .
verifyWithNb( [H|T], Elt, Occ, Y, Help ) :- 
  Occ==Help,
  integer(H),
  Y+H==10,
  verify(T,Elt,Occ).

内容的提问来源于stack exchange,提问作者LK.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 04:15:20