import math

def sinusoidal_1(k):
    """
    >>> round(sinusoidal_2 (9), 2)
    -19.02
    >>> round(sinusoidal_2 (10),2)
    -21.44
    """
    x = 1
    s = 0
    for i in range(k+1):
        s = s + x
        x = 2*math.sin(x)+3*math.cos(x)
    return s

"""
una altra solució amb while
  
def sinusoidal_1(k):
    i = 0
    s = 0
    x = 1
    while i<=k:
        s = s + x
        x = 2*math.sin(x)+3*math.cos(x)
        i = i+1
    return s
"""

def sinusoidal_2(valor,epsilon):
    i = 0
    s = 0
    x = 1
    while abs(s-valor)>=epsilon:
        s = s + x
        x = 2*math.sin(x)+3*math.cos(x)
        i = i+1
    return i
