fattorizzare il numero sotto la radice, scegliere i fattori che entrano in coppie e lasciano il resto sotto la radice.
√800 = √ (2 x 2 x 2 x 2 x 5 x 2 x 5) = √ (2 x 2 x 5 x 2) = (2 x 2 x 5) √2 = 20 √2.
E per completezza, ecco alcuni cod semplici e:
outside_root = 1
inside_root = 800
d = 2
while (d * d <= inside_root):
if (inside_root % (d * d) == 0): # inside_root evenly divisible by d * d
inside_root = inside_root/(d * d)
outside_root = outside_root * d
else:
d = d + 1
quando l'algoritmo termina, outside_root e inside_root contengono la risposta.
Qui fuga con 800:
inside outside d
800 1 2 # values at beginning of 'while (...)'
200 2 2
50 4 2
50 4 3
50 4 4
50 4 5
2 20 5 # d*d > 2 so algorithm terminates
== ==
La risposta 20√2 è qui l'ultima fila.
fonte
2012-05-08 05:11:59
Riesci a scrivere i passi di un essere umano? Questo è il primo compito. – GManNickG
Intendi qualche sistema Symbol (modulo)? per favore dai un'occhiata a http://code.google.com/p/sympy/ – wuliang