luanemile
Membros Pro-
Total de ítens
4 -
Registro em
-
Última visita
Sobre luanemile
Últimos Visitantes
376 visualizações
luanemile's Achievements
-
luanemile started following permutações possíveis de um numero ou palavra
-
permutações possíveis de um numero ou palavra
um tópico no fórum postou luanemile Object Pascal - Delphi & Lazarus
Bom dia no delphi tem alguma função para contar permutações possíveis de um numero ou palavra? Tenho essa função mais não está funcionando corretamente, Só funciona se os caracteres não se repetirem Exemplo : Qtda caracteres|combinação com 3 char| combinação com 4 char 123456= 120 360 112345= 72 192 112234= 42 102 112233= 24 54 111234= 34 72 111223= 19 38 111222= 8 14 function CountPermutations02(str: string; r: Integer): Int64; function Factorial(n: Integer): Int64; var I: Integer; begin Result := 1; for I := 2 to n do Result := Result * I; end; function Combination(n, r: Integer): Int64; begin Result := Factorial(n) div (Factorial(r) * Factorial(n - r)); end; var I: Integer; count: array of Integer; n: Int64; begin SetLength(count, 256); for I := 1 to Length(str) do Inc(count[Ord(str[I])]); n := 1; for I := 0 to 255 do if count[I] <> 0 then n := n * Factorial(count[I]); Result := Combination(Length(str), r) * Factorial(r) div n; end;