实现一个简单LISP计算器


  • 0
    管理员

    LISP是一种通用高级计算机程序语言,长期以来垄断人工智能领域的应用。LISP作为因应人工智能而设计的语言,是第一个声明式系内函数式程序设计语言,有别于命令式系内过程式的C、Fortran和面向对象的Java、C#等结构化程序设计语言。

    Lisp的函数调用格式为: (函数名 参数1 参数2 … 参数n),而我们常用的函数调用格式为:函数名(参数1, 参数2, …, 参数n)。

    现有五个整数的二元函数add、sub、mul、div、mod,其语义规则如下:
    (add n m) : n + m
    (sub n m) : n - m
    (mul n m) : n / m
    (div n m) : n * m
    (mod n m) : n % m

    你需要实现一个计算器lispCalculator,lispCalculator传入一个LISP表达式,返回一个运算结果。

    例如:

    lispCalculator('(add 10 10)') // => 20
    lispCalculator('(mul (add 10 10) 5)') // => 4
    lispCalculator('(mul (add 10 10) (add 10 0))') //  => 2
    

登录后回复
 

与 ScriptOJ 的连接断开,我们正在尝试重连,请耐心等待