Hướng dẫn you have just rolled a dice several times codility python - bạn vừa gieo xúc xắc nhiều lần

Bạn có những quan sát về n + m cuộn xúc xắc 6 mặt với mỗi mặt được đánh số từ 1 đến 6.

sum = 0
for i in range(0,number_of_dice):
    roll = random.randint(1,number_of_sides + 1)
    sum = sum + roll

return sum
0 của các quan sát bị thiếu, và bạn chỉ có những quan sát của các cuộn
sum = 0
for i in range(0,number_of_dice):
    roll = random.randint(1,number_of_sides + 1)
    sum = sum + roll

return sum
1. May mắn thay, bạn cũng đã tính toán giá trị trung bình của các cuộn n + m.6-sided dice rolls with each face numbered from 1 to 6.
sum = 0
for i in range(0,number_of_dice):
    roll = random.randint(1,number_of_sides + 1)
    sum = sum + roll

return sum
0 of the observations went missing, and you only have the observations of
sum = 0
for i in range(0,number_of_dice):
    roll = random.randint(1,number_of_sides + 1)
    sum = sum + roll

return sum
1 rolls. Fortunately, you have also calculated the average value of the n + m rolls.

Show

    Bạn được cung cấp một mảng số nguyên

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    3 chiều dài
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    1 trong đó
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    5 là giá trị của quan sát
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    6. Bạn cũng được cung cấp hai số nguyên
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    7 và
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    0.

    Trả về một mảng có độ dài

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    0 chứa các quan sát bị thiếu sao cho giá trị trung bình của các cuộn n + m chính xác là ____17. Nếu có nhiều câu trả lời hợp lệaverage value of the n + m rolls is exactly
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    7. If there are multiple valid answers…

    Tôi muốn tạo mã sẽ 'cuộn' số_of_dice thời gian và tìm tổng của các cuộn. Đây là những gì tôi có. Tôi đang gặp lỗi khi tôi thực hiện "sum = sum + roll" rằng có các loại toán hạng không được hỗ trợ cho +: build_in_function_or_method và int. Làm sao tôi có thể giải quyết việc này?

    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
        return sum
    

    Đã hỏi ngày 27 tháng 6 năm 2016 lúc 3:46Jun 27, 2016 at 3:46

    1

    Python có chức năng tích hợp

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    2 trả về tổng số được đưa ra dưới dạng chuỗi. Vì bạn chưa khai báo một biến
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    2, nó đang cố gắng
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    4 được tích hợp trong chức năng và số
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    5 không được phép. Bạn cần xác định biến trước vòng lặp:

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    

    Lưu ý rằng bạn phải quay lại sau vòng lặp, không phải từ bên trong vòng lặp. Ngoài ra, nếu bạn không muốn theo dõi hàm tích hợp

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    2 thì bạn có thể sử dụng một tên khác cho biến của mình.

    Đã trả lời ngày 27 tháng 6 năm 2016 lúc 3:51Jun 27, 2016 at 3:51

    Hướng dẫn you have just rolled a dice several times codility python - bạn vừa gieo xúc xắc nhiều lần

    Taskinoortaskinoortaskinoor

    45K12 Huy hiệu vàng116 Huy hiệu bạc140 Huy hiệu đồng12 gold badges116 silver badges140 bronze badges

    4

    Tôi sẽ sử dụng:

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    

    Đã trả lời ngày 27 tháng 6 năm 2016 lúc 4:01Jun 27, 2016 at 4:01

    Hướng dẫn you have just rolled a dice several times codility python - bạn vừa gieo xúc xắc nhiều lần

    Ben Goldingben GoldingBen Golding

    7166 Huy hiệu bạc8 Huy hiệu Đồng6 silver badges8 bronze badges

    1

    Chúng tôi quan tâm đến quyền riêng tư dữ liệu của bạn. Hackerearth sử dụng thông tin mà bạn cung cấp để liên hệ với bạn về nội dung, sản phẩm và dịch vụ có liên quan.

    Chính sách bảo mật và Điều khoản dịch vụ của chúng tôi sẽ giúp bạn hiểu rằng bạn đang kiểm soát dữ liệu của mình tại Hackerearth.

    Cho n xúc xắc mỗi mặt với m mặt, được đánh số từ 1 đến m, tìm số lượng cách để lấy sum x. x là tổng số các giá trị trên mỗi mặt khi tất cả các con xúc xắc được ném.

    Cách tiếp cận ngây thơ là tìm thấy tất cả các kết hợp có thể có của các giá trị từ n xúc xắc và tiếp tục đếm kết quả tổng hợp thành X.Naive approach is to find all the possible combinations of values from n dice and keep on counting the results that sum to X.

    Vấn đề này có thể được giải quyết một cách hiệu quả bằng cách sử dụng lập trình động (dp). & Nbsp; & nbsp;Dynamic Programming (DP).  

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)

    Tại sao DP tiếp cận? & NBSP; Vấn đề trên thể hiện các vấn đề phụ chồng chéo. Xem sơ đồ dưới đây. Ngoài ra, xem việc thực hiện đệ quy này. Đặt 3 con xúc xắc, mỗi mặt có 6 mặt và chúng ta cần tìm số lượng cách để có được tổng 8: & nbsp; 
    The above problem exhibits overlapping subproblems. See the below diagram. Also, see this recursive implementation. Let there be 3 dice, each with 6 faces and we need to find the number of ways to get sum 8:
     

    Hướng dẫn you have just rolled a dice several times codility python - bạn vừa gieo xúc xắc nhiều lần

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)

    Hãy xem xét kỹ hơn về đệ quy ở trên. Các vấn đề phụ màu đỏ được giải quyết lần đầu tiên và các vấn đề phụ màu xanh lam được giải quyết một lần nữa (triển lãm các vấn đề phụ chồng chéo). Do đó, lưu trữ kết quả của các vấn đề phụ được giải quyết tiết kiệm thời gian.RED are solved first time and sub-problems in BLUE are solved again (exhibit overlapping sub-problems). Hence, storing the results of the solved sub-problems saves time.

    Sau đây là triển khai phương pháp lập trình động. & Nbsp; & nbsp;

    C++

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    7

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    8

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    9
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    0
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    1

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    3
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    5
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    7
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    9

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    3

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    5
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    6
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    7
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    8

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    0
    2
    21
    4
    6
    3

    0
    2
    21
    4
    6
    4
    0
    2
    21
    4
    6
    5

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    0
    2
    21
    4
    6
    0

    0
    2
    21
    4
    6
    4
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    0
    2
    21
    4
    6
    5

    0
    2
    21
    4
    6
    6
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2 n + m0

    n + m1n + m2

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m4 n + m5

    n + m6

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2 n + m8

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    111

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    113

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    115

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    117

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    119

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m4 62

    n + m6

    Java

    64 65

    64 67

    64 69

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    00
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    01

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    03
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    04
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    05
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    3
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    5
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2

    Các

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    271
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    29

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    40
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    42

    n + m1

    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    271
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    49

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    50
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    541
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    56

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    57
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    581
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    60

    n + m1n + m6

    0
    2
    21
    4
    6
    4n + m6

    0
    2
    21
    4
    6
    4n + m4 n + m5

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m6

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    03
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    04
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    73
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    74

    0
    2
    21
    4
    6
    4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    76
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    77
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    781
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    82

    0
    2
    21
    4
    6
    4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    76
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    89
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    82

    0
    2
    21
    4
    6
    4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    766
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    89
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    97
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    82

    0
    2
    21
    4
    6
    4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    76
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    77
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    05
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    82

    0
    2
    21
    4
    6
    4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    76
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    77
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    89
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    05
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    82

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m6

    n + m6

    Python3

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    18
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    19

    Các

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    41
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    33
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    34
    0
    2
    21
    4
    6
    1_______

    0
    2
    21
    4
    6
    4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    311
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    58
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    221

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    32
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    33
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    34
    0
    2
    21
    4
    6
    1
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    68__

    0
    2
    21
    4
    6
    4
    0
    2
    21
    4
    6
    0
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    41
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    33
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    34
    0
    2
    21
    4
    6
    1_______

    0
    2
    21
    4
    6
    6
    0
    2
    21
    4
    6
    0
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    85
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    33
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    34
    0
    2
    21
    4
    6
    1_______

    n + m1

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    97
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    4__2222222222222222222222222222

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    31
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    011
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    11
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    011
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    25

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    15
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    16
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    77
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    46
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    461
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    22

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    15
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    16
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    46
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    46
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    89
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    22

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    15
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    166
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    46
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    89
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    46
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    97
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    22

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    15
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    16
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    77
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    46
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    46
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    05
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    22

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    15
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    16
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    77
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    46
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    89
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    46
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    05
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    22

    C#

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    9
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    56

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    00
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    58

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    04
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    3
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    64

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    50
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    7
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    9

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    73
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    16
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    76

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    77
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    78

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    83

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    88

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    90

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    95

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    96
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    97

    0
    2
    21
    4
    6
    4
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    99

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    0
    2
    21
    4
    6
    0

    0
    2
    21
    4
    6
    4
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    0
    2
    21
    4
    6
    5

    0
    2
    21
    4
    6
    6
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    14

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    15
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    16

    n + m1

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    18

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    19
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    20

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    23

    n + m6

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    03
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    04
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    73
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    28

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    31

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    33

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    35

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    37

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    39

    n + m6

    n + m6

    PHP

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    42

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    43
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    3
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    45
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    47
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    49
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    50

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    53
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    35

    0
    2
    21
    4
    6
    4
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    58
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    59____458

    0
    2
    21
    4
    6
    4
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    69
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    59____469

    0
    2
    21
    4
    6
    4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    53
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    79
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    58
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    11
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    69
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    83

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    69

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    93
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    69
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    90
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    49
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    97
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    69
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    65

    0
    2
    21
    4
    6
    4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    53
    0
    2
    21
    4
    6
    02
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    69
    0
    2
    21
    4
    6
    04

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    58
    0
    2
    21
    4
    6
    09
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    58
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    90__

    0
    2
    21
    4
    6
    4
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    69
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    59____469

    0
    2
    21
    4
    6
    6
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    0
    2
    21
    4
    6
    30
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    59
    0
    2
    21
    4
    6
    30
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    90
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    45
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    92

    0
    2
    21
    4
    6
    36
    0
    2
    21
    4
    6
    30
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    61
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    69
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    97
    0
    2
    21
    4
    6
    30
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    65

    n + m1

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    53
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    79
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    58
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    11
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    69
    0
    2
    21
    4
    6
    49

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    57
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    53
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    79
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    58
    0
    2
    21
    4
    6
    54
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    69
    0
    2
    21
    4
    6
    56
    0
    2
    21
    4
    6
    30
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    22

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    53
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    79
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    47
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    11
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    49
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    22

    n + m6

    0
    2
    21
    4
    6
    68
    0
    2
    21
    4
    6
    69
    0
    2
    21
    4
    6
    70
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    35

    0
    2
    21
    4
    6
    68
    0
    2
    21
    4
    6
    73
    0
    2
    21
    4
    6
    70
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    35

    0
    2
    21
    4
    6
    68
    0
    2
    21
    4
    6
    777____570
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    35

    0
    2
    21
    4
    6
    68
    0
    2
    21
    4
    6
    81
    0
    2
    21
    4
    6
    70
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    35

    0
    2
    21
    4
    6
    68
    0
    2
    21
    4
    6
    855____570
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    35

    0
    2
    21
    4
    6
    88

    JavaScript

    0
    2
    21
    4
    6
    89

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    43
    0
    2
    21
    4
    6
    91

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    94
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    16
    0
    2
    21
    4
    6
    96

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    99

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    0
    2
    21
    4
    6
    4
    0
    2
    21
    4
    6
    03
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    16
    0
    2
    21
    4
    6
    05

    0
    2
    21
    4
    6
    4
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    08

    0
    2
    21
    4
    6
    4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    0
    2
    21
    4
    6
    6
    0
    2
    21
    4
    6
    12

    0
    2
    21
    4
    6
    4n + m6

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m6

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    19

    n + m1

    0
    2
    21
    4
    6
    5

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    24

    n + m1

    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    27

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    50
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    30

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    57n + m2

    n + m1n + m6

    0
    2
    21
    4
    6
    4n + m6

    0
    2
    21
    4
    6
    4n + m4 n + m5

    n + m6

    0
    2
    21
    4
    6
    41
    0
    2
    21
    4
    6
    42
    0
    2
    21
    4
    6
    43

    0
    2
    21
    4
    6
    44
    0
    2
    21
    4
    6
    42
    0
    2
    21
    4
    6
    43

    0
    2
    21
    4
    6
    47
    0
    2
    21
    4
    6
    42
    0
    2
    21
    4
    6
    43

    0
    2
    21
    4
    6
    50
    0
    2
    21
    4
    6
    42
    0
    2
    21
    4
    6
    43

    0
    2
    21
    4
    6
    53
    0
    2
    21
    4
    6
    42
    0
    2
    21
    4
    6
    43

    0
    2
    21
    4
    6
    56

    Đầu ra: & nbsp; & nbsp;
     

    0
    2
    21
    4
    6

    Độ phức tạp về thời gian: O (m * n * x) trong đó m là số lượng mặt, n là số xúc xắc và x được cho tổng. O(m * n * x) where m is number of faces, n is number of dice and x is given sum.

    Không gian phụ trợ: O (n * x) Chúng ta có thể thêm hai điều kiện sau khi bắt đầu tìm kiếm () để cải thiện hiệu suất của chương trình cho các trường hợp cực đoan (X quá cao hoặc X quá thấp) & nbsp;O(n * x)
    We can add the following two conditions at the beginning of findWays() to improve performance of the program for extreme cases (x is too high or x is too low) 

    C++

    0
    2
    21
    4
    6
    57
    0
    2
    21
    4
    6
    58

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m4
    0
    2
    21
    4
    6
    61

    0
    2
    21
    4
    6
    57
    0
    2
    21
    4
    6
    63

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m4
    0
    2
    21
    4
    6
    66

    Java

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    0
    2
    21
    4
    6
    58

    0
    2
    21
    4
    6
    4n + m4
    0
    2
    21
    4
    6
    61

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    0
    2
    21
    4
    6
    63

    0
    2
    21
    4
    6
    4n + m4
    0
    2
    21
    4
    6
    66

    Python3

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    18
    0
    2
    21
    4
    6
    80

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    48
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    26
    0
    2
    21
    4
    6
    85
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    22
    0
    2
    21
    4
    6
    87

    0
    2
    21
    4
    6
    4n + m4
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    48
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    26
    0
    2
    21
    4
    6
    2222222222222222222222

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    0
    2
    21
    4
    6
    98
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    22
    0
    2
    21
    4
    6
    87

    0
    2
    21
    4
    6
    4n + m4 n + m03
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    222222222

    C#

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    0
    2
    21
    4
    6
    58

    0
    2
    21
    4
    6
    4n + m4
    0
    2
    21
    4
    6
    61

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    0
    2
    21
    4
    6
    63

    0
    2
    21
    4
    6
    4n + m4
    0
    2
    21
    4
    6
    66

    JavaScript

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    0
    2
    21
    4
    6
    58

    0
    2
    21
    4
    6
    4n + m4
    0
    2
    21
    4
    6
    61

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    0
    2
    21
    4
    6
    63

    0
    2
    21
    4
    6
    4n + m4
    0
    2
    21
    4
    6
    66

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    18
    0
    2
    21
    4
    6
    80

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    48
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    26
    0
    2
    21
    4
    6
    85
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    22
    0
    2
    21
    4
    6
    87

    C++

    n + m31

    0
    2
    21
    4
    6
    4n + m4
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    48
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    26
    0
    2
    21
    4
    6
    2222222222222222222222

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    0
    2
    21
    4
    6
    98
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    22
    0
    2
    21
    4
    6
    87

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    0
    2
    21
    4
    6
    4n + m4 n + m03
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    222222222

    Với các điều kiện trên được thêm vào, độ phức tạp thời gian trở thành O (1) khi x> = m*n hoặc khi x

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m53

    Sau đây là việc thực hiện phương pháp lập trình động được tối ưu hóa. & NBSP;

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    9
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    0
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    1

    0
    2
    21
    4
    6
    4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    0
    2
    21
    4
    6
    6n + m69

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    05
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    3
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2 n + m38
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2 n + m40
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2 n + m42

    n + m1n + m74

    0
    2
    21
    4
    6
    4n + m6

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m6

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    05 n + m46

    n + m6

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    5n + m49
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    7 n + m51

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    111

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    113

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    115

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    117

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    119

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2 n + m58

    n + m6

    Java

    102

    103104

    103106

    103

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    26

    103110

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    0
    2
    21
    4
    6
    58

    0
    2
    21
    4
    6
    4n + m4
    0
    2
    21
    4
    6
    61

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    0
    2
    21
    4
    6
    63

    0
    2
    21
    4
    6
    4n + m4
    0
    2
    21
    4
    6
    66

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    18
    0
    2
    21
    4
    6
    80

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    48
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    26
    0
    2
    21
    4
    6
    85
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    22
    0
    2
    21
    4
    6
    87

    n + m1156115811601

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    22

    0
    2
    21
    4
    6
    4n + m4
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    48
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    26
    0
    2
    21
    4
    6
    2222222222222222222222

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    5017111731
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    22

    0
    2
    21
    4
    6
    6n + m6

    0
    2
    21
    4
    6
    4n + m6

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    57
    0
    2
    21
    4
    6
    98
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    22
    0
    2
    21
    4
    6
    87

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m6

    0
    2
    21
    4
    6
    4n + m4 n + m03
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    222222222

    Với các điều kiện trên được thêm vào, độ phức tạp thời gian trở thành O (1) khi x> = m*n hoặc khi x

    0
    2
    21
    4
    6
    4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    76
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    89
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    82

    0
    2
    21
    4
    6
    4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    766
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    89
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    97
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    82

    0
    2
    21
    4
    6
    4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    76
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    77
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    05
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    82

    0
    2
    21
    4
    6
    4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    76
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    77
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    89
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    05
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    82

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m6

    n + m6

    Python3

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    18 634

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1636
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    22
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    23
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    24
    0
    2
    21
    4
    6
    0 ____232 ____233

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1136
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    24
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    11
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    24____961
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    22

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    32
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    33
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    34
    0
    2
    21
    4
    6
    11____971
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    41____
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    71

    0
    2
    21
    4
    6
    4
    0
    2
    21
    4
    6
    0
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    41
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    33
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    34
    0
    2
    21
    4
    6
    1_______

    0
    2
    21
    4
    6
    6687
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    22 689
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    01

    0
    2
    21
    4
    6
    6
    0
    2
    21
    4
    6
    57
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    41
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    01

    n + m1687

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    01
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    22 694__

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    027

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    15
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    16
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    77
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    781
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    22

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    15
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    16
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    89
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    22

    Các

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    15
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    16
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    77
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    41
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    05
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    22

    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    15
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    16
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    77
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    89
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    78
    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    05
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    22

    C#

    import random
    
    def sum_of_dice(number_of_dice, n_sides_on_die=6):
        return sum([random.choice(range(1, n_sides_on_die + 1))
                    for i in range(number_of_dice)])
    
    9
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    56

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    00
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    58

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    03
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    04
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    05
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    3
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2 n + m38__

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    0
    2
    21
    4
    6
    4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    05
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    088
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    16
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    05
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    091

    0
    2
    21
    4
    6
    4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    093

    0
    2
    21
    4
    6
    4
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2 n + m58

    0
    2
    21
    4
    6
    4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    0
    2
    21
    4
    6
    6
    0
    2
    21
    4
    6
    0
    0
    2
    21
    4
    6
    1
    Let the function to find X from n dice is: Sum(m, n, X)
    The function can be represented as:
    Sum(m, n, X) = Finding Sum (X - 1) from (n - 1) dice plus 1 from nth dice
                   + Finding Sum (X - 2) from (n - 1) dice plus 2 from nth dice
                   + Finding Sum (X - 3) from (n - 1) dice plus 3 from nth dice
                      ...................................................
                      ...................................................
                      ...................................................
                  + Finding Sum (X - m) from (n - 1) dice plus m from nth dice
    
    So we can recursively write Sum(m, n, x) as following
    Sum(m, n, X) = Sum(m, n - 1, X - 1) + 
                   Sum(m, n - 1, X - 2) +
                   .................... + 
                   Sum(m, n - 1, X - m)
    2 n + m65

    0
    2
    21
    4
    6
    6
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    n + m1

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    109

    n + m1

    0
    2
    21
    4
    6
    57
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    112

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    50
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    114

    0
    2
    21
    4
    6
    6n + m6

    0
    2
    21
    4
    6
    4n + m6

    0
    2
    21
    4
    6
    4n + m4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    121

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m6

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    03
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    04
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    73
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    128

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    0
    2
    21
    4
    6
    4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    31

    0
    2
    21
    4
    6
    4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    33

    0
    2
    21
    4
    6
    4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    35

    0
    2
    21
    4
    6
    4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    37

    0
    2
    21
    4
    6
    4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    39

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m6

    n + m6

    JavaScript

    0
    2
    21
    4
    6
    89

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    43
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    146

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    149
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    16
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    151

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    154

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    0
    2
    21
    4
    6
    4
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    158
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    16
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    160

    0
    2
    21
    4
    6
    4
    0
    2
    21
    4
    6
    0
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    163

    0
    2
    21
    4
    6
    4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    0
    2
    21
    4
    6
    6
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    167

    0
    2
    21
    4
    6
    4n + m6

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m6

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m53

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    0
    2
    21
    4
    6
    0
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    176

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    0
    2
    21
    4
    6
    4
    0
    2
    21
    4
    6
    0
    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    181

    0
    2
    21
    4
    6
    4
    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    0

    0
    2
    21
    4
    6
    6n + m69

    0
    2
    21
    4
    6
    6
    0
    2
    21
    4
    6
    57 n + m72

    n + m1n + m74

    0
    2
    21
    4
    6
    4n + m6

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m6

    Sum(6, 3, 8) = Sum(6, 2, 7) + Sum(6, 2, 6) + Sum(6, 2, 5) + 
                   Sum(6, 2, 4) + Sum(6, 2, 3) + Sum(6, 2, 2)
    
    To evaluate Sum(6, 3, 8), we need to evaluate Sum(6, 2, 7) which can 
    recursively written as following:
    Sum(6, 2, 7) = Sum(6, 1, 6) + Sum(6, 1, 5) + Sum(6, 1, 4) + 
                   Sum(6, 1, 3) + Sum(6, 1, 2) + Sum(6, 1, 1)
    
    We also need to evaluate Sum(6, 2, 6) which can recursively written
    as following:
    Sum(6, 2, 6) = Sum(6, 1, 5) + Sum(6, 1, 4) + Sum(6, 1, 3) +
                   Sum(6, 1, 2) + Sum(6, 1, 1)
    ..............................................
    ..............................................
    Sum(6, 2, 2) = Sum(6, 1, 1)
    1n + m4 n + m81

    n + m6

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    199
    0
    2
    21
    4
    6
    42
    0
    2
    21
    4
    6
    43

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    202
    0
    2
    21
    4
    6
    42
    0
    2
    21
    4
    6
    43

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    205
    0
    2
    21
    4
    6
    42
    0
    2
    21
    4
    6
    43

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    208
    0
    2
    21
    4
    6
    42
    0
    2
    21
    4
    6
    43

    sum = 0
    for i in range(0,number_of_dice):
        roll = random.randint(1,number_of_sides + 1)
        sum = sum + roll
    
    return sum
    
    211
    0
    2
    21
    4
    6
    42
    0
    2
    21
    4
    6
    43

    0
    2
    21
    4
    6
    56

    Đầu ra: & nbsp; & nbsp;
     

    0
    2
    21
    4
    6

    Độ phức tạp về thời gian: O (n * x) trong đó n là số xúc xắc và x được cho tổng.

    Độ phức tạp không gian: O (n * x) trong đó n là số xúc xắc và x được cho tổng.

    Bài tập: & nbsp; mở rộng thuật toán trên để tìm xác suất để có được tổng> x. Bài viết này được biên soạn bởi Aashish Barnwal. Vui lòng viết nhận xét nếu bạn tìm thấy bất cứ điều gì không chính xác hoặc bạn muốn chia sẻ thêm thông tin về chủ đề được thảo luận ở trên & NBSP; 
    Extend the above algorithm to find the probability to get Sum > X.
    This article is compiled by Aashish Barnwal. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above