Skocz do zawartości

  •  
  • Mini kompendium
  • MimeTeX
  • Regulamin

Zdjęcie
        STUDIA        

Wypisywanie podzbiorów binarnie



  • Nie możesz napisać tematu
  • Zaloguj się aby odpowiedzieć
2 odpowiedzi w tym temacie

#1 Jarekzulus

Jarekzulus

    Wielki Analityk

  • +Mods
  • Redaktor
  • 3411 postów
3046
Profesor
  • Płeć:Mężczyzna

Napisano 22.01.2016 - 17:10

Witam

 

Chcę napisać program możliwie najprostszy który wypisze mi wszystkie (prócz zbioru pustego) podzbiory zbioru n elementowego, z tym, że chodzi mi o to by było to zapisane zerami i jedynkami tj. na przykład dla n=3

 

 

100

010

001

110

101

011

111

 

Jest ich jak wiadomo 2^n-1

 

1 oznacza, że element pierwszy zbioru należy do podzbioru a 0, że nie należy.

 

Program w Javie - tak na marginesie, lub w R jeśli znacie.

 

Należy użyć macierzy tj. wynik ma być macierzą o n kolumnach i 2^n-1 wierszach.


Użytkownik Jarekzulus edytował ten post 22.01.2016 - 17:19

  • 0

:wave: :wave: :wave: Jeśli rzuciłem choć promyczek światła na problem który postawiłeś - podziękuj. pre_1433974176__syg.jpgNad kreską


Afroman

    Kombinator

  • Użytkownik
3
  • Płeć:Kobieta

Napisano 25.09.2011 - 17:55

#2 Ereinion

Ereinion

    Mega Rozkminiacz z Marsa

  • $Jr Admin
  • 2102 postów
1006
Starszy Wykładowca I
  • Płeć:Mężczyzna

Napisano 22.01.2016 - 18:35

W R ten "program" to jedna linijka :)

as.matrix(expand.grid(rep(list(0:1), n)))[-1,]

Użytkownik Ereinion edytował ten post 22.01.2016 - 18:35

  • 1

#3 Jarekzulus

Jarekzulus

    Wielki Analityk

  • +Mods
  • Redaktor
  • 3411 postów
3046
Profesor
  • Płeć:Mężczyzna

Napisano 25.01.2016 - 08:46

Wielkie dzięki

 

Dopiero zainteresowałem się R-em, nie znam wielu komend. Mógłbyś pokrótce omówić ten "program" linijkę ;)

 

Druga sprawa, że chciałbym też napisać własną metodę wykonującą to co ta linijka. Wiem wywarzanie otwartych drzwi ale interesuje mnie jak zapełić tablicę zer "1"-ami. Bo tak mam na początku podaną tablicę wyników jako macierz n na 2^n-1 i chcę powstawiać "1" tam gdzie trzeba.

 

Niestety nic sensownego mi nie wychodzi. Mam problem co zawrzeć w petli.

 

pozdrawiam


  • 0

:wave: :wave: :wave: Jeśli rzuciłem choć promyczek światła na problem który postawiłeś - podziękuj. pre_1433974176__syg.jpgNad kreską