Uma das maneiras de se conseguir a raiz quadrada de um número, é subtrair deste número todos os ímpares consecutivos a partir de 1, até que o resultado destas subtrações seja menor ou igual a zero. A quantidade de vezes que se conseguir realizar as subtrações é a raiz quadrada exata ou aproximada. Conseguimos diferenciar, entre exata ou aproximada, se o resultado das subtrações for igual a zero ou negativo, respectivamente. A seguir, é apresentada uma implementação na linguagem C, mas esta implementação contém dois erros.
| 01 | #include <stdio.h> |
Considere as possíveis alterações:
I. Linha 08: contador = 1
II. Linha 09: while( n > 0 )
III. Linha 11: impar = impar + 2
IV. Linha 12: contador = contador + 2
V. Linha 14: if( n < 0 )
Quais das alterações corrigem a implementação apresentada anteriormente?