joaoarthurbm / eda

Material escrito para a disciplina de Estruturas de Dados e Algoritmos da Universidade Federal de Campina Grande.
http://joaoarthurbm.github.io/eda
53 stars 65 forks source link

Adicionando nova questão a quizzes.txt #84

Open viniciusfds opened 3 years ago

viniciusfds commented 3 years ago

Quiz elaborado por vinicius.sousa email: vinicius.sousa@ccc.ufcg.edu.br Nome: Vinicius Ferreira de Sousa

Também sugiro uma outra questão, que fui impedido de adicionar pelo fato de no arquivo não haver uma sintaxe clara de formatação das questões. Segue abaixo a questão pensada.

Abaixo está o código em Java de um algoritmo que verifica se um número inteiro n (tal que n > 1) é primo. Sobre o algoritmo em questão, qual(is) das seguintes afirmativas está(ão) incorreta(s)?

public static boolean ehPrimo(int n) {
     for (int k = 2; k < n; k++) {
          if (n % k == 0) {
               return false;
          }
     }
     return true;
}

a) A maior parte das primitivas estão sendo executadas mais de uma vez, para n > 3. b) A operação primitiva de avaliação de expressão booleana k < n é executada n + 1 vezes. c) O pior caso é quando n não tem um divisor próprio entre seus antecessores maiores que 1. Somente nesse caso a operação return true é executada, após todas as iterações do laço for terem sido realizadas. d) A função de custo pode ser expressa como $f(n) = 4cn - 6c$ , onde $c$ é uma constante positiva. e) A função de custo pode ser expressa como $f(n) = 4cn - 5c$ , onde $c$ é uma constante positiva.

Respostas: alternativas b e d.