Próbuję policzyć liczbę liczb wyrażoną przez liczbę P 1 i 0 w formie binarnej. Jeśli p = 2, to numery są wyrażone 0011, 1100, 0110, 0101, 1001, 1010, dzięki czemu liczba wynosi 6.Najlepszy algorytm liczenia permutacji w rubinie
że próbował:
[0,0,1,1].permutation.to_a.uniq
jednak nie jest najlepszym rozwiązaniem duże liczby (P może być < = 30).
Co może być najlepszą techniką permutacji, czy też mamy jakąś prostą matematykę, aby to zrobić?
Jak dziesiętny ma znaczenie dla twojego problemu? To nie wygląda tak, jak jest. – sawa
W jaki sposób fakt, że P może być równy lub mniejszy niż 30, wpływa na obliczenia związane z uzyskiwaniem dużych liczb? Czy to nie jest poważne, kiedy P staje się duże? – sawa
@sawa druga część pytania zawiera ograniczenie dziesiętne A, B. E.g. musimy wydrukować liczbę na podstawie danego zakresu A, B. Na przykład. dla tego samego przykładu A = 5, B = 10, P = 2, wtedy mam tylko 4 wartości w tym zakresie (z wyjątkiem 3 i 12) – Yusuf