52 lines
558 B
Text
52 lines
558 B
Text
integer
|
|
F(list l)
|
|
{
|
|
l[1];
|
|
}
|
|
|
|
integer
|
|
eval(list l)
|
|
{
|
|
l[0](l);
|
|
}
|
|
|
|
integer A(list);
|
|
|
|
integer
|
|
B(list l)
|
|
{
|
|
A(list(B, l[1] = l[1] - 1, l, l[-5], l[-4], l[-3], l[-2]));
|
|
}
|
|
|
|
integer
|
|
A(list l)
|
|
{
|
|
integer x;
|
|
|
|
if (l[1] < 1) {
|
|
x = eval(l[-2]) + eval(l[-1]);
|
|
} else {
|
|
x = B(l);
|
|
}
|
|
|
|
x;
|
|
}
|
|
|
|
integer
|
|
main(void)
|
|
{
|
|
list f1, f0, fn1;
|
|
|
|
l_append(f1, F);
|
|
l_append(f1, 1);
|
|
|
|
l_append(f0, F);
|
|
l_append(f0, 0);
|
|
|
|
l_append(fn1, F);
|
|
l_append(fn1, -1);
|
|
|
|
o_(A(list(B, 10, f1, fn1, fn1, f1, f0)), "\n");
|
|
|
|
0;
|
|
}
|