我试图在Lisp中反转列表,但是我得到错误:"错误:异常C0000005 [标志0]在20303FF3 {偏移25里面#} eax 108 ebx 200925CA ecx 200 edx 2EFDD4D esp 2EFDCC8 ebp 2EFDCE0 esi 628 edi 628 "
我的代码如下:
(defun rev (l)
(cond
((null l) '())
(T (append (rev (cdr l)) (list (car l))))))
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我做错了什么?提前致谢!
我正在尝试计算KProlog中元素的排列,其中元素的总和等于给定的S. 所以,我知道可以通过找到组合然后排列它们来计算排列。我知道如何计算K元素的组合,例如:
comb([E|_], 1, [E]).
comb([_|T], K, R) :-
comb(T, K, R).
comb([H|T], K, [H|R]) :-
K > 1,
K1 is K-1,
comb(T, K1, R).
Run Code Online (Sandbox Code Playgroud)
列表的排列具有元素之和等于给定 S 的属性,我知道这样计算:
insert(E, L, [E|L]).
insert(E, [H|T], [H|R]) :-
insert(E, T, R).
perm([], []).
perm([H|T], P) :-
perm(T, R),
insert(H, R, P).
sumList([], 0).
sumList([H], H) :-
number(H).
sumList([H|Tail], R1) :-
sumList(Tail, R),
R1 is R+H.
perms(L, S, R) :-
perm(L, R),
sumList(R, S1),
S = S1.
allPerms(L, …Run Code Online (Sandbox Code Playgroud) 我必须通过使用货币字符串格式将雷从欧元兑换成欧元.我的方法是:
public static void ConvertFromRonEur()
{
//string amount = string.Format("{0:C}");
double result;
Console.WriteLine("Lei: ");
double quantity;
double euro = 0.22D;
quantity = double.Parse(Console.ReadLine());
result = quantity * euro;
Console.WriteLine(("{0:C} Euro"), result);
}
Run Code Online (Sandbox Code Playgroud)
当我运行结果时:
Lei:
10
$2,20 Euro
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得2,20欧元结果,但是使用字符串格式化货币?谢谢.
我是Java8的新手,我在互联网上阅读了关于这个主题的一些内容.目前我正试图弄清楚功能接口是什么.我找到了一些例子,但我不明白为什么界面Skip是一个功能性的,因为它有2个定义的方法.我希望有人可以解释一下.代码是:
@FunctionalInterface
public interface Sprint
{
public void sprint(Animal animal);
}
@FunctionalInterface
public interface Skip extends Sprint
{
public default int getHopCount()
{
return 10;
}
public static void skip(int speed) {}
}
Run Code Online (Sandbox Code Playgroud) c# ×1
clpfd ×1
combinations ×1
common-lisp ×1
currency ×1
flags ×1
formatting ×1
java ×1
lisp ×1
list ×1
permutation ×1
prolog ×1