#                    Copia e incolla in R quanto segue:
# x*y  con x = √10 = 3.162277660168379... e y = √2 = 1.414213562373095... quanto fa? Con
# WolframAlpha posso avere quante cifre voglio: 4.472135954999579392818347337462552...
# In R posso ottenere dei valori approssimati:
sqrt(10)*sqrt(2)
# approssimazione a 16 cifre
print(sqrt(10)*sqrt(2), 16)
# a 17 non sarebbe attendibile: confronta qui sotto col valore vero
print(sqrt(10)*sqrt(2), 17)
# Ma come si puņ calcolare/definire il prodotto tra due numeri illimitati?
# Vediamolo.
# Definisco una funzione che date approssimazioni per difetto ed eccesso di x ed y
# calcola approssimazioni per difetto ed eccesso del prodotto, e la loro differenza
ap <- function(x,y) { r <- NULL
                      for(i in 1:2)for(j in 1:2) r <- c(r, x[i]*y[j])
                      c(min(r), max(r), max(r)-min(r)) }
# Facciamo qualche calcolo
x <- c(3, 4); y <- c(1, 2); ap(x, y)
x <- c(3.1, 3.2); y <- c(1.4, 1.5); ap(x, y)
x <- c(3.16, 3.17); y <- c(1.41, 1.42); ap(x, y)
x <- c(3.162, 3.163); y <- c(1.414,1.415); ap(x, y)
# ...
x <- c(3.16227766016837,3.16227766016838); y <- c(1.41421356237309,1.41421356237310); ap(x,y)
x <- c(3.16227766016837,3.16227766016838); y <- c(1.41421356237309,1.41421356237310); print(ap(x,y),16)
x <- c(3.162277660168379,3.162277660168380); y <- c(1.414213562373095,1.414213562373096); print(ap(x,y),16)
# Facendo i calcoli (a mano o con un mezzo di calc.), aumentando il n. di cifre posso ridurre quanto
# voglio la precisione ... (ma mi basta capire che si puo' farlo, e, poi, usare ad es. WolframAlpha)