Anagrama usando Perl
Publicado por Jonatan Gomes (última atualização em 01/10/2010)
[ Hits: 7.107 ]
Homepage: Em construção xD
Bom, para quem não sabe o que é um anagrama ou para quem se esqueceu, vou tentar dar uma simples resumida. Anagrama é quando você quer saber as possibilidades de uma palavra ter diferentes resultados, exemplo:
Com a palavra "One" podemos fazer 6 combinações distintas. Como assim distintas? Simples, quando especificamos distintas quer dizer que não podemos repetir a mesma letra mais de uma vez, as combinações ficarão assim:
One
Oen
Neo
Noe
Eno
Eon
Caso não seja distinta o resultado será de 27 combinações (pois as letras poderão se repetir). Anagrama é muito usado em simbologia e em outras áreas, essa é a versão 1.0, na próxima que mandarei eu vou fazer com que apareça também as palavras (só que não tenho a mínima noção de como fazer isso =]). Bom, aí está o código, se puderem dar uma melhorada nele eu agradeço...
#!/usr/bin/perl print "\n+---------------[R4ST4 4N4GR4M4]---------------+\n"; print "|-------------------------------1.0-----|\n"; print "| |\n"; print "| Gerador de Anagramas Versao 1.0 |\n"; print "| |\n"; print "| Coded By R4\$T4 |\n"; print "+---------------------------------------+\n\n"; sleep 3; print "\n\nPor favor Insira Uma Palavra\t"; chomp($palavra= <STDIN>); print "\n\nVoce quer resultado com numeros destintos? (S/N)\t"; chomp ($destinto= <STDIN>); @lista= split(//,$palavra); if (($destinto =~ /[Ss]/) || ($destinto =~ /[Ss]ao/)) { $vezes= @lista.""; $vezes2= @lista.""; $vezes3= @lista.""; for ($i= 1; $i = $vezes; $vezes--) { push (@aff, $vezes); } for ($vezes2= @lista.""; $vezes2 < 29; $vezes2++) { $h=1; push (@aff,$h); #aqui preenchemos todos os espaços que sobrarem da matriz por 1 } $conta= $aff[0] * $aff[1] * $aff[2]* $aff[3] * $aff[4]* $aff[5]*$aff[6]*$aff[7]*$aff[8]*$aff[9]*$aff[10]*$aff[11]*$aff[12]*$aff[13]*$aff[14]*$aff[15]*$aff[16]*$aff[17]*$aff[18]*$aff[19]; #aqui é o número maximo de letras print "\n\n O total de resultados possiveis: $conta\n"; } if (($destinto =~ /[Nn]/) || ($destinto =~ /[Nn]ao/)) { $vezes3= @lista.""; $conta2= $vezes3 ** $vezes3; print "\n\n O total de resultados possiveis: \t $conta2"; }
Soma varios valores e mostra sua media
Calcula equação de segundo grau completa
Aprendendo a fazer equações em Perl
Nenhum comentário foi encontrado.
Atualizar o macOS no Mac - Opencore Legacy Patcher
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
Instalando e usando o Dconf Editor, o "regedit" para Linux
Como instalar o navegador TOR no seu Linux
Instalando Zoom Client no Ubuntu 24.04 LTS
O que eu faço com o pen drive de 200mb? (1)
problemas com artefatos na instalação (34)
Qual a relevancia dos valores de bogomips com os Mhz e Ghz[DUVIDA] (8)
Em que pasta/arquivo ficam as configurações das janelas em derivados d... (5)