Comecei a estudar java essa semana, e foi proposto para mim um exercicio assim:
Baseado na Equação de Pell este é um método para obter a raiz quadrada simplesmente subtraindo números ímpares.
Ex: para obter a raiz de 27 nós começaos com a seguinte sequência:
- 27 - 1 = 26
- 26 - 3 = 23
- 23 - 5 = 18
- 18 - 7 = 11
- 11 - 9 = 2
5 passos foram tomados e isso nos leva que a parte inteira da raiz quadrada de 27 é 5.
Então eu consegui fazer, porém eu sei q foi um codigo mto grande para algo simples assim, então queria que vcs avaliassem e digam se estou indo bem, pq demorei um bocado pra conseguir fazer =P
espero não causar raiva em ninguem ao ler isso, mais é meu primeiro topico no forum e queria saber a opinião de alguem com mais experiencia :D, vlw galera.
Esse foi meu codigo:
import java.util.ArrayList;
import java.util.Scanner;
public class Pell {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int s;
System.out.println("Digite um numero: ");
s = scan.nextInt();
int impar = 1;
int raiz = s;
int result = s - impar;
int resultAnterior;
System.out.println("....::::Resolvendo Raiz Quadrada pelo metodo de pell::::....");
System.out.println("Raiz Quadrada de "+s+ ":");
result = s - impar;
resultAnterior = result+impar;
System.out.println(s+" - "+impar+" = "+result);
ArrayList<Integer> a = new ArrayList<Integer>();
while(impar<result){
impar += 2;
result -= impar;
resultAnterior = result+impar;
System.out.println(resultAnterior+" - "+impar+" = "+result);
if(true){
a.add(result);
}
}
int resultFinal =a.size()+1;
while(result == 0){
System.out.println("A raiz é exata, o resultado é: "+resultFinal+"!!!");
break;
}
while(result !=0){
System.out.println("A raiz não é exata, o resultado aproximado é: "+resultFinal+"!!!");
break;
}
}
}
