


"""simple docstring"""

def lowerCAmelCase_      (				UpperCamelCase__	: int ):






 """simple docstring"""







 assert (
     isinstance(UpperCamelCase__				,   UpperCamelCase__ ) and number_of_steps > 0
 ), f'''number_of_steps needs to be positive integer, your input {number_of_steps}'''
 if number_of_steps == 1:
  return 1
 __lowercase							,		__lowercase									=	1, 1
 for _ in range(number_of_steps - 1 ):
  __lowercase							,		__lowercase									=	current + previous, current
 return current


if __name__ == "__main__":
       import doctest

       doctest.testmod()




"""simple docstring"""

from collections.abc import Callable

import numpy as np


def lowerCAmelCase_      (				UpperCamelCase__	: Callable				,   UpperCamelCase__	: float				,   UpperCamelCase__	: float				,   UpperCamelCase__	: float				,   UpperCamelCase__	: float ):






 """simple docstring"""







 __lowercase									=	int(np.ceil((x_end - xa) / step_size ) )
 __lowercase									=	np.zeros((n + 1,) )
 __lowercase									=	ya
 __lowercase									=	xa

 for k in range(UpperCamelCase__ ):
  __lowercase									=	y[k] + step_size * ode_func(UpperCamelCase__				,   y[k] )
  x += step_size

 return y


if __name__ == "__main__":
       import doctest

       doctest.testmod()
