我正在用Prolog编程,从任何给定的数字(F)来看,将列表中的偶数元素乘以;保留那些不是的值,开发如下程序,并且实际上程序“编译”没有任何错误,但是当输入值时,它只返回"false",我会错在哪里?
% base case
evenproduct(_,[],[]) :- !.
% recursive case
evenproduct(F,[X|Xs], [Y|Ys]) :-
Y is F*X,
X mod 2 =:= 0,
evenproduct(F, Xs, Ys), !.
谢谢!!
我有一个这样的类:
public class FileCollection:ObservableCollection<IUserFile>.
在类中,我希望根据名称列表获取集合的一个子集。
我想应该是这样的:
List<IUserFile> selectedFiles = new List<IUserFile>;
foreach(string s in names)
{
var matchingFiles = this.SelectMany(userFile => userFile.Name.Equals(s));
fo
大家好,这是我的第一篇帖子,所以如果你对如何提问有任何建议的话,我会全神贯注的。关于我的问题,我试图使用递归对一个数字列表进行排序,我有一个my_max/2谓词,它返回一个列表的最大值,在返回之后,我从列表中选择这个值,然后将它添加到我的排序列表中。然后我又想起了新的名单。
我的问题是,谓词似乎工作并找到了正确的列表,但是当谓词退出时,它将所有的列表返回到原来的状态,基本上取消了谓词所做的所有工作。我觉得这和Prolog的回溯有关吗?
%finds the max of a list, if the list is empty return int_min
my_max([],-214748
我正在做一个家庭作业,由两部分组成。第一种方法是编写一个Prolog程序,检查某一对X,Y是否属于某个。例如:(2,3) = true;(4,10) = true等。
第一个解决方案使用“普通”递归,我这样解决了这个问题:
triangle(0, 0).
triangle(X, Y) :- X > 0, Y > 0, A is X - 1, B is Y - X, triangle(A, B).
第二部分是使用尾递归/累加器,使用三角形/3谓词来解决这个问题。虽然我在另一个赋值中使用过累加器,但它的用法非常明显,所以我对如何使用累加器有了大致的了解,但我对如何在这种情况下使用它感到
我应该用integer.It创建一个列表应该是ziga_arnitika( L,ML).Which take L列表(+)整数,并将返回列表ML仅(-)整数列表L的偶数。警告:X mod Y计算X:Y。
Example: ziga_arnitika([3,6,-18,2,9,36,31,-40,25,-12,-5,-15,1],ML).
ML =[-18,-40,-12]
例如,我知道使用not list来使用if,但不使用list,我所做的是..:
something(12) :-
write('Go to L).
something(10) :-
write('Go to
假设我有如下清单:
List <Customclass> someList = new List<CustomClass>()
{
new CustomClass { color = "Red", type = "lcd" },
new CustomClass { color = "Red", type = "cvr" },
new CustomClass { color = "Green", type = "lcd" },
new Cust
当管子没有用大括号括起来时,我正试着在管子上拆分一根线。
我有一个可以工作的正则表达式,除非有递归花括号:
~\([^)]*\)(*SKIP)(*F)|\|~
test(test(test|tester)|test)|test
^ and ^ are matched, only last one should match
我想从一个列表中按一个特定的名称从价格中选择所有值。这是我的密码:
var singleNameWithOldestPrice =
from p in PriceList
group p by p.NAME into grp
select grp.OrderBy(a => a.TIMESTAMP);
现在,我从PriceList获得了所有的名字,上面有所有现有的价格,并按时间戳订购。但我只想要具体的名字,所有的价格,订票,时间戳。
我怎么能这么做?
对于标准的项目符号列表,这不会出现太多,但是对于罗马数字,数字宽度在不同的<li>之间可能会有很大差异。
例: II vs XVII
我很难为列表设置足够的填充,这样宽的“项目”就不会被截断,而窄的项目就不会无缘无故地被笨拙地缩进。
基本上,我正在寻找一种CSS解决方案,以实现最小的左间距,使项目符号/数字永远不会被裁剪。
我正在开发一个用Prolog编写的应用程序。我需要过滤一个元素列表,并删除那些不满足特定约束或条件的元素,同时保持原来的列表顺序。我认为最好的方法是这样做:
filter([],Filtered).
filter([L|List],[F|Filtered]) :-
/* Conditions are met: bypass the element to the filtered list */
check_conditions(L),
filter(List,Filtered).
filter([L|List],Filtered) :-
/* Condition
我试图根据以下函数证明非类型化lambda演算的求值:
def eval(t: Term): Option[Term] = t match {
case App(t1, t2) => eval(t1) match {
case Some(Abs(x, body)) => eval(t2) match {
case Some(v2) => eval(subst(x, v2, body))
case None() => None[Term]()
}
case _ => None[Term](