Galera, estou com uma dúvida em um exercício que não sei se uso vetor ou outra coisa. O exercício fala sobre a capacidade de alguns números. Exemplo:
3025 => 30 + 25 = 55. 55^2 = 3025.
Fazer um programa dos números de 1000 á 9999 que tenha essa propriedade
Exercício precisa ser feito em java (De preferência na IDE netbeans)
Devo ser muito burro. Não entendi o que eh essa capacidade de alguns números.
Não entendi o que é essa fórmula também.
Jelson1
Eu acho que você deve pegar o número de 4 dígitos quebrar em 2, depois somar, por fim elevar ao quadrado.
Ex: 1000
10 + 00 = 10
10² = 100
Se o resultado for igual ao valor original, então ele tem essa “capacidade”!
Um for resolveriam e você ia imprimir só os números que tem essa propriedade.
SkyG0D
Não seria bem uma capacidade e sim uma característica.
Mas bem, o que foi falado acima deve ser suficiente para você conseguir resolver o problema. Caso não consiga resolver fale e tentaremos ajudar.
OBS: A uma forma matemática e uma forma com métodos do Java.
J
JeanVic
Sim, mas estou com dificuldade justamente para fazer isso. Como eu quebraria o número ?
J
JeanVic1 like
Se pegar um número de 4 dígitos e separa-los em 2 grupos e somar esses grupos. o quadrado dele dá exatamente o numero dito inicialmente.
Grupo 1 - 30
Grupo 2 - 25
(Grupo 1 + Grupo 2) = 55
55 elevado ao quadrado é 3025
J
JeanVic
Exato, preciso que o Java imprime os números de 1000 a 9999 que têm essa característica.
J
JeanVic
O número 1000, como você exemplificou, é um exemplo de número que não tem tal característica.
Jelson11 like
Tem várias formas, você poder usar o métodos substring() ou aplicar o cálculo abaixo (já que são 4 digitos), lembrando também, que divisão entre inteiros gera um inteiro também:
Fiz da primeira maneira que você indicou, também deu o mesmo resultado. Muito obrigado. Estava tentando usar vetor, mas por vetor não é tão eficiente. Vlw mesmo.