【发布时间】:2021-10-19 13:41:54
【问题描述】:
我正在处理 Maple 中的一个问题。但是我的问题很笼统,可以根据任何编程语言来回答。
问题:
- 仅使用地图功能(无循环)。假设有两个包含 n 和 m 个元素的列表 A 和 B。将 A 中的那些元素替换为 B 中也存在的“true”,并将 A 中的其他元素替换为“false”。
问题: 我确实尝试过这样解决这个问题:
funk := proc(i::integer,j::integer) # checks if two elements are identical
if (i = j) then
return true;
else
return false;
end if;
end proc:
funktion := proc(int::integer, L :: list) # calls funk on every element of L.
map(funk, L, int);
end proc:
SchnittTrueA := proc(M::list, L::list) # calls funktion on every Element of M and L.
map(funktion,M,L);
end proc:
如果我为 k :=[1,3] 和 l := [2,3] 运行 SchnittTrueA(k,l);,我会得到以下结果:
[[false, false], [false, true]]
这绝不是我想要程序做的事情!
我需要类似的东西[false, true]
我尽我所能,但我不知道如何解决这个问题。
P.S1:我是新手程序员,所以请不要对我太苛刻:D。 P.S2:如果你想给我任何提示/答案,只要你可以使用地图功能,它不需要是枫叶语言。
【问题讨论】: