Programar repetição dos termos

2 respostas Resolvido
A

Galera estou precisando imprimir uma serie de termos , mas a quantidade é o usuário que decide, seria a serie 1/1+8/10+27/100+64/1000… E sucessivamente …

2 Respostas

A
Solucao aceita

Primeiro você tem que encontrar um padrão na série.
Sendo n um número inteiro maior que zero, iniciamos a análise da sequencia e atribuímos 1 como valor inicial de n.
Agora tentamos encontrar o padrão, sendo a letra (e) a referência de elevado/potência.
1³ = 1, 2³ = 8, 3³ = 27, 4³ = 64 -> padrão do dividendo = n³
10e0 = 1, 10e1 = 10, 10e2 -> padrão do divisor = 10e(n-1)
Minha notação matemática não é muito boa, mas vou tentar.
Assim temos a seguinte proposição:
Para todo n pertencente ao conjunto dos números inteiros não nulos, os elementos da série X = {1/1, 8/10, 27/100, 64/1000, … } são produtos da equação x = n³/10e(n-1) , onde x pertence ao conjunto dos números reais.

Por que a proposição é importante neste caso?
Para avaliar se a sua codificação não apresenta uma contraprova.
A partir deste ponto criamos a codificação:

Olha uma das inúmeras codificações, que segue a proposição:

public static void main(String[] args) {
        System.out.println("Informe um valor inteiro");
        new Crisis().serie(Integer.parseInt(new Scanner(System.in).next()));
    }

void serie(int n) {
    for (int i = 1; i <= n; i++) {
        System.out.print(
                //n³, na linha a seguir
                (int) Math.pow(i, 3)
                + "/"
                +//10e(n-1) na linha a seguir
                (int) Math.pow(10, i - 1)
                + (i < n ? " + " : "\n"));//só pra não imprimir o + no final 
    }
}

Agora uma codificação que segue uma proposição equivalente.

public static void main(String[] args) {
        System.out.println("Informe um valor inteiro");
        new Crisis().serie(Integer.parseInt(new Scanner(System.in).next()));
    }
    
    void serie(int n){
        for (int i = 0; i < n; i++) {
            System.out.print((int) Math.pow(i+1, 3)+"/"+(int)Math.pow(10, i)+(i + 1 < n?" + ":"\n"));
        }
    }
A

Addller bom dia…

Essa ajuda foi que tava precisando , ajudou demais muito obrigado ! ! !
Sua notação foi bem clara e objetiva, e gostei da parte de pre-teste que
avalia a proposição ajuda a definir e analisar as linhas de código.

Desde já agradeço

Criado 3 de junho de 2017
Ultima resposta 4 de jun. de 2017
Respostas 2
Participantes 2