from random import*
def f(x):
return x*x
def montecarlo(f,a,b,n):
cpt = 0
for i in range(0,n):
x = uniform(a,b)
y = uniform(0, max(f(a),f(b)))
if f(x) > y:
cpt = cpt+1
return (1.0*cpt/n)*(b-a)*max(f(a),f(b))
print(montecarlo(f,0,2,10))
print(montecarlo(f,0,2,100))
print(montecarlo(f,0,2,1000))
print(montecarlo(f,0,2,10000))