Hướng dẫn combination with repetition c++ - kết hợp với sự lặp lại c ++

Xem thảo luận

Show

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc
    1) Combinations without repetitions/replacements. 
    2) Combinations with repetitions/replacements. 
    3) Permutations without repetitions/replacements. 
    4) Permutations with repetitions/replacements.
    Below is a summary table depicting the fundamental concepts in Combinatorics Theory. 
     

    Bàn luận

    Giả sử chúng ta có một chuỗi độ dài và chúng ta muốn tạo tất cả các kết hợp/hoán vị được thực hiện r tại một thời điểm có/không có sự lặp lại. & Nbsp; Có bốn khái niệm cơ bản trong tổ hợp1) kết hợp mà không lặp lại/thay thế. & Nbsp; 2) kết hợp với sự lặp lại/thay thế. & Nbsp; 3) các khái niệm cơ bản trong lý thuyết tổ hợp. & nbsp; & nbsp;
    The idea is to recur for all the possibilities of the string, even if the characters are repeating.
    The base case of the recursion is when there is a total of ‘r’ characters and the combination is ready to be printed. 
    For clarity, see the recursion tree for the string- “ 1 2 3 4” and r=2
     

    Hướng dẫn combination with repetition c++ - kết hợp với sự lặp lại c ++

    Bảng tóm tắt

    C++

    #include

    Bài viết này là về trường hợp thứ ba (thứ tự không quan trọng và sự lặp lại cho phép). Ý tưởng là tái diễn cho tất cả các khả năng của chuỗi, ngay cả khi các ký tự đang lặp lại. Trường hợp cơ sở của đệ quy là khi có tổng số ' Các ký tự r 'và sự kết hợp đã sẵn sàng để được in. & nbsp; Để rõ ràng, hãy xem cây đệ quy cho chuỗi- Hồi 1 2 3 4 và r = 2 & nbsp;

    Dưới đây là việc thực hiện. & NBSP;

    using namespace std;

    using0

    void CombinationRepetitionUtil(int chosen[], int #include 0

    using1using0

    #include 1int #include 3int #include 5int

    namespace1namespace2namespace3namespace4

    using6namespace2namespace7namespace8

    using6std;0namespace8

    using1using2 using3

    using6using7 using8int namespace0

    using1using0

    using6void2

    using6void4

    void5void6

    using1std;3

    using1std;0namespace8

    std;3

    using1std;3

    using0

    using1using7 using8int std;8

    using1int6

    std;3

    void CombinationRepetitionUtil(4int CombinationRepetitionUtil(6int CombinationRepetitionUtil(8int int0

    using0

    using1int int4

    int int9

    using1int chosen[], 3

    using1int5

    using1int chosen[], 6chosen[], 7chosen[], 8chosen[], 7int0

    std;3

    using1int int3

    #include 00

    Dưới đây là việc thực hiện. & NBSP;

    using namespace std;

    using0

    void CombinationRepetitionUtil(int chosen[], int #include 0

    using1using0

    #include 1int #include 3int #include 5int

    namespace1#include 28using8#include 30#include 31

    using6#include 28using8namespace7#include 36

    using6std;0namespace8

    using1std;3

    using6using7 using8int namespace0

    using1using0

    using6void2

    using6void4

    void5void6

    using1std;3

    using1std;0namespace8

    std;3

    using1std;3

    using0

    using1using7 using8int std;8

    using1int6

    std;3

    void CombinationRepetitionUtil(4int CombinationRepetitionUtil(6int CombinationRepetitionUtil(8int int0

    using0

    using1int int4

    int int9

    using1int chosen[], 3

    using1int5

    using1int chosen[], 6chosen[], 7chosen[], 8chosen[], 7int0

    std;3

    using1int int3

    using1std;0 int8

    C

    Java

    #include 98 #include 99

    using1using01 void CombinationRepetitionUtil(int chosen[], int #include 0

    using27using28#include 30#include 31

    namespace1std;3

    namespace1using28namespace7#include 36

    namespace1std;0namespace8

    using6std;3

    namespace1int #include 3int #include 5int #include 7__

    namespace1void2

    namespace1using50using51using52

    #include 1void6

    using6std;3

    using6std;0namespace8

    using1using2 using3

    using6using7 using8int namespace0

    using1std;3

    using6using81using25using83using25using85using51#include 36

    using1std;3

    using1using7 using8int std;8

    void CombinationRepetitionUtil(4int CombinationRepetitionUtil(6int CombinationRepetitionUtil(8int int0

    using1int int4

    int int9

    using1int chosen[], 3

    using1std;3

    std;3

    Python3

    using1int chosen[], 6chosen[], 7chosen[], 8chosen[], 7int0

    namespace21namespace22

    using1int int3

    using1std;0 int8

    C

    using6namespace36namespace43

    using6std;0

    using1using2 namespace48

    using6std;0

    using1namespace522____326 namespace54

    using1namespace56namespace57 using51using52

    namespace21namespace61

    using1namespace20

    namespace21namespace65namespace57 using51namespace68

    namespace19 namespace70

    using1namespace72namespace26 namespace74using25namespace76namespace77 namespace78

    using1using81using25using83using25namespace84

    namespace85namespace26 namespace87using51using99___

    namespace96namespace26 namespace00

    namespace99namespace26 std;01std;02std;03 using51

    std;05

    C#

    using std;07

    using91 #include 98 std;10

    using1using01 void CombinationRepetitionUtil(int std;16int std;18

    namespace1int #include 3int #include 5int #include 7__

    using6using2 using19

    namespace1using7 using8int std;35

    using27std;37namespace3#include 36

    namespace1std;3

    namespace1std;43

    namespace1std;0namespace8

    using6std;3

    using6using7 using8int using46

    namespace1void2

    namespace1void4

    #include 1void6

    using6std;3

    using6std;0namespace8

    using1std;3

    using1using01 void CombinationRepetitionUtil(4int std;72int

    using6int std;79using75 intstd;82

    using6std;84

    using1std;3

    using1using91 using01 void std;91

    using6int std;94

    using6int std;97

    using6int int3

    using6int5

    using1std;3

    std;3

    JavaScript

    void06

    using1void08 void09

    namespace1void11

    using1using0

    using6using2 using19

    namespace1using7 using8int std;35

    using27void23namespace3#include 36

    namespace1std;3

    namespace1void29void30#include 36

    namespace1std;0namespace8

    using6std;3

    using6using7 using8int using46

    namespace1void2

    namespace1void4

    #include 1void6

    using6std;3

    using6std;0namespace8

    using1std;3

    using1using01 void CombinationRepetitionUtil(4int std;72int

    using1using0

    using6int std;79using75 intstd;82

    using6std;84

    using1std;3

    using1using91 using01 void std;91

    using6int std;94

    using6int std;97

    int5

    void74

    using6int int3 

    1 1 
    1 2 
    1 3 
    1 4 
    2 2 
    2 3 
    2 4 
    3 3 
    3 4 
    4 4

    JavaScriptFor a string of length- n and combinations taken r at a time with repetitions, it takes a total of O(n+r-1Cr) time.
    References– https://en.wikipedia.org/wiki/Combination
    This article is contributed by Rachit Belwariar. If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks.
    Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above