Número de sumas en una expresión aritmética

Las expresiones aritméticas con variables pueden representarse usando el siguiente tipo de datos

Por ejemplo, la expresión 2·(a+5) se representa por

Definir la función

tal que sumas e es el número de sumas en la expresión e. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

Un comentario

  1. Una posible implementación de la función sumas en Haskell podría ser la siguiente:

    La función utiliza recursión para recorrer la expresión y acumula el número de sumas en cada nodo. Si el nodo es un C o un V, no tiene sumas y se devuelve 0. Si el nodo es un S, se devuelve la suma de las sumas de los hijos más 1. Si el nodo es un P, se devuelve la suma de las sumas de los hijos.

Escribe tu solución