Pular para o conteúdo principal
← Banco de questões
Algoritmos e Estruturas de Dados
Cesgranrio
2024

Algoritmos e Estruturas de Dados · Cesgranrio 2024

Um programador criou um método Java que recebe como parâmetro um inteiro maior ou igual a zero e retorna um inteiro cujos dígitos têm suas posições invertidas em relação ao inteiro recebido como parâmetro, conforme os exemplos apresentados a seguir: • Caso essa função receba o inteiro 1234 como parâmetro, ela retornará o inteiro 4321; • Caso essa função receba o inteiro 1000 como parâmetro, ela retornará o inteiro 1; • Caso essa função receba o inteiro 8 como parâmetro, ela retornará o inteiro 8. Qual método executa o que foi especificado?

  1. A)import java.util.Stack; // presente no arquivo ''' public static int inverte(int num) { Stack<Integer> pilha = new Stack<Integer>(); do { int resto = num % 10; num /= 10; pilha.push(resto); } while(num > 0); for (int i=1; ! pilha.isEmpty(); i*=10) num += pilha.pop() * i; return num; } '''
    gabarito
  2. B)import java.util.LinkedList; // presente no arquivo import java.util.Queue; // presente no arquivo ''' public static int inverte(int num) { Queue<Integer> fila = new LinkedList<Integer>(); for (; num > 0; ) { int resto = num % 10; num /= 10; fila.offer(resto); } for (int i=1; ! fila.isEmpty(); i*=10) num += fila.poll() * i; return num; } '''
  3. C)import java.util.LinkedList; // presente no arquivo import java.util.Queue; // presente no arquivo ''' public static int inverte(int num) { Queue<Integer> fila = new LinkedList<Integer>(); do { int resto = num % 10; num /= 10; fila.offer(num); } while(num > 0); for (int i=1; ! fila.isEmpty(); i*=10) num += fila.poll() * i; return num; } '''
  4. D)import java.util.LinkedList; // presente no arquivo import java.util.Queue; // presente no arquivo ''' public static int inverte(int num) { Queue<Integer> fila = new LinkedList<Integer>(); while (num > 0) { int resto = num % 10; num /= 10; fila.offer(resto); } for (int i=1; ! fila.isEmpty(); i*=10) num += fila.poll() * i; return num; } '''
  5. E)import java.util.Stack; // presente no arquivo ''' public static int inverte(int num) { Stack<Integer> pilha = new Stack<Integer>(); while(num > 0) { int resto = num % 10; num /= 10; pilha.push(num); } for (int i=1; ! pilha.isEmpty(); i*=10) num += pilha.pop() * i; return num; } '''

Resposta correta: alternativa A

import java.util.Stack; // presente no arquivo ''' public static int inverte(int num) { Stack<Integer> pilha = new Stack<Integer>(); do { int resto = num % 10; num /= 10; pilha.push(resto); } while(num > 0); for (int i=1; ! pilha.isEmpty(); i*=10) num += pilha.pop() * i; return num; } '''

Ver comentário resumido

**Gabarito: A** **Por que está correta:** A alternativa A utiliza uma pilha (Stack) para armazenar os dígitos na ordem inversa em que são extraídos (do último para o primeiro). Ao desempilhar, os dígitos saem na ordem correta para formar o número invertido, multiplicados pelas po…

Prévia interativa — a IA corrige em cima da SUA resposta
CEBRASPE
2024
Direito Constitucional

Assinale a alternativa correta sobre os direitos e garantias fundamentais previstos na Constituição Federal de 1988.

👆 Escolha uma alternativa pra ver a correção da IA

Resolva e receba a explicação completa por IA

Em vez do gabarito, a IA mostra exatamente onde você errou — em 500 mil questões, para todas as bancas.

Sem cartão · 7 dias Pro grátis · Cancele quando quiser

Explore este assunto

Mais questões de Algoritmos e Estruturas de Dados

Guia gratuito · 7 aulas por e-mail

Método 90 Dias: do zero à prova com repetição espaçada

Sem revisão, você perde 70% do que estudou em 24h. Receba o sistema completo de estudo com IA que resolve isso — em 7 aulas por e-mail.

  • Como montar o plano a partir do seu edital
  • Repetição espaçada aplicada a concurso
  • O que priorizar quando o tempo é curto

Sem spam · cancele em 1 clique