Python ::: Itertools ::: Iteradores de Combinação e Permutação |
Como gerar permutações de uma string em Python usando o objeto permutations do módulo ItertoolsQuantidade de visualizações: 1118 vezes |
|
Nesta dica mostrarei como podemos usar o objeto permutations do módulo Itertools para gerar as permutações simples de uma string. Na permutação simples, quando os elementos não se repetem, a quantidade de conjuntos gerados a partir do conjunto analisado equivale a n!, onde n é a quantidade de elementos no conjunto a partir do qual a permutação ocorrerá. Dessa forma, para a palavra LOTE, a quantidade de permutações possíveis (sem repetição) é 4! = 24. Veja o código Python completo que gera as permutações simples para a palavra LOTE:
# vamos importar o objeto permutations do Itertools
from itertools import permutations
def main():
# palavra contendo os caracteres que queremos
# gerar a permutação. Veja que não vamos usar
# caracteres repetidos
palavra = "LOTE"
# agora obtemos uma lista com as permutações possíveis
permutacoes = [''.join(p) for p in permutations(palavra)]
# e mostramos o resultado
print("As permutações para a palavra {0} são:\n".format(palavra))
print(permutacoes)
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: As permutações para a palavra LOTE são: ['LOTE', 'LOET', 'LTOE', 'LTEO', 'LEOT', 'LETO', 'OLTE', 'OLET', 'OTLE', 'OTEL', 'OELT', 'OETL', 'TLOE', 'TLEO', 'TOLE', 'TOEL', 'TELO', 'TEOL', 'ELOT', 'ELTO', 'EOLT', 'EOTL', 'ETLO', 'ETOL'] |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular MDC em CQuantidade de visualizações: 24169 vezes |
|
Atualmente a definição de Máximo Divisor Comum (MDC) pode ser assim formalizada: Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b. O trecho de código abaixo mostra como calcular o MDC de dois números informados:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// função que recebe dois inteiros e retorna
// o Máximo Divisor Comum dos dois
int MDC(int a, int b){
int resto;
while(b != 0){
resto = a % b;
a = b;
b = resto;
}
return a;
}
int main(int argc, char *argv[]){
int x, y;
setlocale(LC_ALL,""); // para acentos do português
printf("Este programa permite calcular o MDC\n");
printf("Informe o primeiro número: ");
scanf("%d", &x);
printf("Informe o segundo número: ");
scanf("%d", &y);
printf("O Máximo Divisor Comum de %d e %d é %d",
x, y, MDC(x, y));
printf("\n\n");
system("pause");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Este programa permite calcular o MDC Informe o primeiro número: 12 Informe o segundo número: 9 O Máximo Divisor Comum de 12 e 9 é 3 |
PHP ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de PHP - Escreva um programa PHP para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 1730 vezes |
|
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: // vamos declarar e construir um vetor de 8 inteiros $valores = array(0, 3, 0, 5, 7, 4, 0, 9); Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando PHP:
<?php
// Este código PHP pode ser executado tanto na linha
// de comando quanto pelo servidor web
// vamos declarar e construir um vetor de 8 inteiros
$valores = array(0, 3, 0, 5, 7, 4, 0, 9);
// vamos mostrar o vetor na ordem original
echo("Vetor na ordem original:\n");
for($i = 0; $i < count($valores); $i++){
echo $valores[$i] . " ";
}
// vamos inicializar j como 0 para que ele aponte para
// o primeiro elemento do vetor
$j = 0;
// agora o laço for percorre todos os elementos do vetor,
// incrementanto a variável i e deixando o j em 0
for($i = 0; $i < count($valores); $i++){
// encontramos um valor que não é 0
if($valores[$i] != 0){
// fazemos a troca entre os elementos nos índices
// i e j
$temp = $valores[$i];
$valores[$i] = $valores[$j];
$valores[$j] = $temp;
// e avançamos o j para o elemento seguinte
$j++;
}
}
// agora mostramos o resultado
echo "\n\nVetor com os zeros deslocados para o final:\n";
for($i = 0; $i < count($valores); $i++){
echo $valores[$i] . " ";
}
?>
Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como remover os espaços no final de uma string em C# usando o método TrimEnd() da classe String - Curso de C# para iniciantesQuantidade de visualizações: 8040 vezes |
|
Nesta dica mostrarei como podemos usar o método TrimEnd() da classe String da linguagem C# para remover os espaços no final de uma palavra, frase ou texto. Esta é uma tarefa importante antes de validar as informações inseridas pelos usuários de nossas aplicações. Veja o código completo:
using System;
namespace Estudos{
class Program{
static void Main(string[] args) {
string texto = " temos espaços no início e fim ";
Console.WriteLine("Com espaços: ." + texto + ".");
// remove os espaços no fim da string
texto = texto.TrimEnd();
Console.WriteLine("Sem espaços: ." + texto + ".");
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código nós teremos os seguinte resultado: Com espaços: . temos espaços no início e fim . Sem espaços: . temos espaços no início e fim. |
Nossas 20 dicas & truques de programação mais populares |
|
C++ - Como obter o diretório atual usando a função GetCurrentDirectory() da API do Windows - C++ e WinAPI |
Você também poderá gostar das dicas e truques de programação abaixo |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





