Índice (Logaritmo Discreto) em Perl
Publicado por Perfil removido (última atualização em 26/04/2013)
[ Hits: 3.762 ]
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";
Testando a agilidade do sistema de arquivos
MyBF - Interpretador de BrainFuck
Nenhum comentário foi encontrado.
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalação do K3s Single-Node com Rancher no Ubuntu 24.04
Usei o NotebookLM para Auditar Logs do Linux
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
Samba 4 AD-DC 2026: Como instalar e configurar um Active Directory (via APT-GET)
[Resolvido] Sumiço de redes e micro quedas no iwd/iwgtk (Realtek rtw88)
Como Configurar DNS Reverso (PTR) em Ambientes Linux e Microsoft
Preparando o Ambiente para Administrar o Samba 4 a partir do Windows com RSAT
Problema ao instalar Linux Mint. (1)
Midia de instalação LM-21.3 não inicializa (11)
A diferença entre a fala de um Samuel e a fala de alguém que conhece o... (9)









