Ferramentas de Utilizador

Ferramentas de Site


inf05016:2014-2-trabalhos

Diferenças

Esta página mostra as diferenças entre as duas revisões da página.

Ligação para esta vista de comparação

Ambos os lados da revisão anterior Revisão anterior
inf05016:2014-2-trabalhos [2014/10/08 15:52]
marcus
inf05016:2014-2-trabalhos [2014/11/05 13:40] (Actual)
marcus [Trabalho 4 (Segmentação de imagens)]
Linha 376: Linha 376:
 </​code>​ </​code>​
  
 +==== Trabalho 5 (Teste de primalidade) ====
 +
 +Entrega: 26/11/2014
 +
 +=== Objetivos ===
 +  * Implementar o teste de primalidade de Miller & Rabin
 +  * Analisar a complexidade do algoritmo em função do tamanho da entrada (log_2(n)) experimentalmente.
 +  * Analisar a probabilidade de responder erradamente "​sim"​ experimentalmente.
 +
 +=== Casos de teste ===
 +  * Números inteiros positivos aleatórios.
 +
 +=== Convenções ===
 +  * As implementações do algoritmo devem ler um número decimal com até 1000 dígitos da entrada padrão e imprimir "​s"​ na saída padrão caso o número é considerado primo e "​n"​ caso contrário.
 +
 +=== Dicas ===
 +  * Usa a biblioteca {{http://​gmplib.org|GNU MP}} para representar números grandes. Ela tem interfaces para {{http://​en.wikipedia.org/​wiki/​GNU_Multiple_Precision_Arithmetic_Library#​Language_bindings|diversas linguagens}} de programação e é simples de usar. Um exemplo em C++:
 +  <code c++>
 +#include <​iostream>​
 +using namespace std;
 +
 +#include <​gmpxx.h>​
 +
 +int main(int argc, char *argv[]) {
 +  mpz_class a;
 +  cin >> a;
 +  cout << "O quadrado de " << a << " é " << a*a << endl;
 +}
 +</​code>​
  
inf05016/2014-2-trabalhos.1412794357.txt.gz · Esta página foi modificada pela última vez em: 2014/10/08 15:52 por marcus