DEV Community

Beatriz Maciel
Beatriz Maciel

Posted on • Updated on

HackerRank #19 | Loops II | 🇧🇷

Neste exercício, é necessário utilizar ints a, b e n para preencherem a seguinte equação:

Alt Text

Além dos números a, b e n, o Scanner pedirá também um número q, que indica a quantidade de linhas de output. Sendo assim, um exemplo de input seria:

2
3 6 9
4 8 12
Enter fullscreen mode Exit fullscreen mode

Sendo q = 2.
Na primeira linha: a = 3, b = 6 e n = 9.
Na segunda linha: a = 4, b = 8, n = 12.
Temos apenas duas linhas porque estabelecemos que q delimita o número de linhas. Neste caso, 2.

O output desse mesmo exemplo será:

9 21 45 93 189 381 765 1533 3069
12 28 60 124 252 508 1020 2044 4092 8188 16380 32764
Enter fullscreen mode Exit fullscreen mode

Os resultados acima respeitam a equação. Para resolver esse problema o passo a passo é:

  • Fazer Scanner nos números de entrada (q, a, b e n)
  • Fazer uma iteração dentro de um for, de forma que seja menor do que n

Lembra que, na equação acima, o último parêntese tem 2 elevado a n-1? Isso significa que precisamos usar n como parâmetro que define a quantidade de resultados (de colunas, no caso).

  • Usar o método Math.pow, que faz a elevação de um número por outro. Passamos o (int) antes porque, por parâmetro, o Math.pow devolve um double e, neste caso, queremos um int.
  • Usamos o System.out.print(a + " ");, sem o println, porque queremos que caibam todos na mesma linha.

=========

O código final fica assim dentro da main:

        Scanner in = new Scanner(System.in);
        int t = in.nextInt();
        for(int i=0; i < t ; i++) {
            int a = in.nextInt();
            int b = in.nextInt();
            int n = in.nextInt();

            for(int z = 0; z < n; z++){
                a = a + (int) Math.pow(2, z) * b;
                System.out.print(a + " ");
            }

            System.out.println("");
        }
        in.close();
Enter fullscreen mode Exit fullscreen mode

============

Essa publicação faz parte de uma série de exercícios resolvidos em Java no HackerRank. Acesse a série completa:

Discussion (0)