- Dizemos que um número natural é triangular se é produto de três números naturais
consecutivos.
Exemplo:
120 é triangular, pois 4 · 5 · 6 = 120.
*to travado nesse problema desde cedo!!! alguem pode ajudar???
*to travado nesse problema desde cedo!!! alguem pode ajudar???
Qual é a questão? Intervalo de valores?
então pelo que entendi, tem que verificar se o numero é divisível por três números consecutivos exe. 2.3.4=24 5.6.7=210, algo desse tipo! mas não consegui nem pensar em uma possível logica nisso!
Ou seja para um número x ser considerado triangular ele tem que atender a seguinte fórmula, onde n é um número qualquer.
x = n * (n + 1) * (n + 2)
Eu criaria uma classe Triangulo assim:
public final class Triangulo {
public static Triangulo verificar(int numero) {
int x = 0;
int n = 1;
while (x < numero) {
x = n * (n + 1) * (n + 2);
if (x == numero) {
return new Triangulo(n, (n + 1), (n + 2));
}
n++;
}
return null;
}
public final int a;
public final int b;
public final int c;
private Triangulo(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
}
E executaria assim:
public class Programa {
public static void main(String[] args) {
try {
Programa programa = new Programa();
programa.executar();
} catch (Throwable t) {
t.printStackTrace();
}
}
public void executar() {
for (int numero = 1; numero <= 150; numero++) {
Triangulo t = Triangulo.verificar(numero);
if (t != null) {
System.out.printf("%d é triangular pois: %d * %d * %d = %d%n", numero, t.a, t.b, t.c, numero);
} else {
System.out.printf("%d não é triangular!%n", numero);
}
}
}
}