Probleminha complexo

3 respostas
java
L
  1. 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???

3 Respostas

J

Qual é a questão? Intervalo de valores?

L

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!

S

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);
            }
        }
    }
}
Criado 29 de agosto de 2019
Ultima resposta 30 de ago. de 2019
Respostas 3
Participantes 3