Índice (Logaritmo Discreto) em Perl
Publicado por Perfil removido (última atualização em 26/04/2013)
[ Hits: 3.315 ]
O problema do índice se resume a:
"Dado dois inteiros N e B, qual o menor expoente I tal que B elevado à I e dividido por N tenha resto igual a 1?"
Se ao invés deste resto 1 for usado um valor R, com o valor de R estando entre 0 e N-1 tem-se então o problema do logaritmo discreto.
Para B=2 e N=31, I vale 5. => 2,4,8,16,32 => 32/31 resto = 1
Para B=4 e N=60, não existe resposta válida. => 4, 16, 64 => 64/60 resto 4 e permanece num ciclo fechado.
Ou 64%60 = 4, que é como se escreve em algumas linguagens.
Este programa calcula índice por brute-force.
#!/usr/bin/perl use strict; use warnings; sub indice { my ($base, $mod) = (shift, shift); my ($index, $acum) = (1, $base % $mod); $base %= $mod; do { $acum *= $base; $acum %= $mod; $index++; } until ($acum == $base || $acum == 1); ($acum==1) ? return $index : return -1; } my $B = 5; my $N = 64; my $I = indice($B, $N); print "$I\n";
Verificação se utilizador existe ou não
Tirando screenshots facilmente !
Wallpapers aleatórios no Fluxbox
Nenhum comentário foi encontrado.
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Como instalar o Tilix Terminal no Gnome e usá-lo como menu drop-down ao estilo Quake
Instalando Grub Customizer no Ubuntu 24.04
Preparando pendrive com GNU/Linux [Corretamente!]
Navegadores com linhas na tela [RESOLVIDO] (11)
Atualização pra versão 2.7.0 (1)
Som continua saindo no auto-falante mesmo com headphone, como conserto... (4)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (39)