library(tidyverse)
## Warning: package 'ggplot2' was built under R version 4.3.2
library(openintro)

Question 1

A bag contains 5 green and 7 red jellybeans. How many ways can 5 jellybeans be withdrawn from the bag so that the number of green ones withdrawn will be less than 2?

# Calculate combinations when 0 or 1 green jellybeans are chosen
green0 <- factorial(7) / (factorial(5) * factorial(7 - 5))
green1 <- (factorial(5) / (factorial(1) * factorial(5 - 1))) * (factorial(7) / (factorial(4) * factorial(7 - 4)))

# Total combinations
green0 + green1
## [1] 196

Question 2

A certain congressional committee consists of 14 senators and 13 representatives. How many ways can a subcommittee of 5 be formed if at least 4 of the members must be representatives?

# Function to calculate combinations
nCr <- function(n, r) {
  factorial(n) / (factorial(r) * factorial(n - r))
}


senators <- 14
representatives <- 13

# Total combinations
nCr(representatives, 5) + nCr(representatives, 4) * nCr(senators, 1)
## [1] 11297

Question 3

# Calculate total outcomes
coin <- 2^5
die  <- 6^2
card <- 52 * 51 * 50

coin * die * card
## [1] 152755200

Question 4

# Find the probability and round it to 4 decimals
round(1 - (48/52) * (47/51) * (46/50), 4)
## [1] 0.2174

Question 5

# Function to calculate combinations
nCr <- function(n, r) {
  factorial(n) / (factorial(r) * factorial(n - r))
}


# Calculate combinations of choosing 5 movies from total
a <- nCr(17 + 14, 5)

# Calculate number of combinations with at least one mystery
b <- nCr(17 + 14, 5) - nCr(17, 5)

print(a)
## [1] 169911
print(b)
## [1] 163723

Question 6

# Function to calculate combinations
nCr <- function(n, r) {
  factorial(n) / (factorial(r) * factorial(n - r))
}


# Output the result in scientific notation rounded to the hundredths place
format(nCr(4, 3) * nCr(104, 3) * nCr(17, 3), scientific = TRUE, digits = 3)
## [1] "4.95e+08"

Question 7

# Function to calculate permutations
nP <- function(n, r) {
  factorial(n) / factorial(n - r)
}

total_permutations <- 0

# Iterate through possible combinations of books
for (novel_count in 0:min(6, 13)) {
  for (play_count in 0:min(6, 13 - novel_count)) {
    for (poetry_count in 0:min(7, 13 - novel_count - play_count)) {
      nonfiction_count <- 13 - novel_count - play_count - poetry_count
      if (nonfiction_count <= 4) {
        permutations <- nP(6, novel_count) * nP(6, play_count) * nP(7, poetry_count) * nP(5, nonfiction_count)
        total_permutations <- total_permutations + permutations
      }
    }
  }
}

#  Step 1
print(format(total_permutations, scientific = TRUE, digits = 3))
## [1] "3e+10"
# Step 2
remaining <- nP(6 + 7 + 5, 13 - 6)

# Output the result for step 2
print(format(remaining, scientific = TRUE, digits = 2))
## [1] "1.6e+08"

Question 8

2 / factorial(10)
## [1] 5.511464e-07

Question 9

# Calculate expected value 1
expected_value1 <- round((44/52)*4+(8/52)*(-16),2)

# Calculate expected value 2
expected_value2 <- round((44/52)*833*4 + (8/52)*833*(-16),2)

print(expected_value1)
## [1] 0.92
print(expected_value2)
## [1] 768.92
LS0tDQp0aXRsZTogIldlZWsgNiAtIFByb2JhYmlsaXR5Ig0KYXV0aG9yOiAiS29zc2kgQWtwbGFrYSINCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCINCm91dHB1dDogb3BlbmludHJvOjpsYWJfcmVwb3J0DQotLS0NCg0KYGBge3IgbG9hZC1wYWNrYWdlcywgbWVzc2FnZT1GQUxTRX0NCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShvcGVuaW50cm8pDQpgYGANCg0KDQoNCiMjIFF1ZXN0aW9uIDENCg0KQSBiYWcgY29udGFpbnMgNSBncmVlbiBhbmQgNyByZWQgamVsbHliZWFucy4gSG93IG1hbnkgd2F5cyBjYW4gNSBqZWxseWJlYW5zIGJlDQp3aXRoZHJhd24gZnJvbSB0aGUgYmFnIHNvIHRoYXQgdGhlIG51bWJlciBvZiBncmVlbiBvbmVzIHdpdGhkcmF3biB3aWxsIGJlIGxlc3MgdGhhbg0KMj8NCg0KYGBge3J9DQojIENhbGN1bGF0ZSBjb21iaW5hdGlvbnMgd2hlbiAwIG9yIDEgZ3JlZW4gamVsbHliZWFucyBhcmUgY2hvc2VuDQpncmVlbjAgPC0gZmFjdG9yaWFsKDcpIC8gKGZhY3RvcmlhbCg1KSAqIGZhY3RvcmlhbCg3IC0gNSkpDQpncmVlbjEgPC0gKGZhY3RvcmlhbCg1KSAvIChmYWN0b3JpYWwoMSkgKiBmYWN0b3JpYWwoNSAtIDEpKSkgKiAoZmFjdG9yaWFsKDcpIC8gKGZhY3RvcmlhbCg0KSAqIGZhY3RvcmlhbCg3IC0gNCkpKQ0KDQojIFRvdGFsIGNvbWJpbmF0aW9ucw0KZ3JlZW4wICsgZ3JlZW4xDQoNCmBgYA0KDQojIyBRdWVzdGlvbiAyDQoNCkEgY2VydGFpbiBjb25ncmVzc2lvbmFsIGNvbW1pdHRlZSBjb25zaXN0cyBvZiAxNCBzZW5hdG9ycyBhbmQgMTMgcmVwcmVzZW50YXRpdmVzLiBIb3cNCm1hbnkgd2F5cyBjYW4gYSBzdWJjb21taXR0ZWUgb2YgNSBiZSBmb3JtZWQgaWYgYXQgbGVhc3QgNCBvZiB0aGUgbWVtYmVycyBtdXN0IGJlDQpyZXByZXNlbnRhdGl2ZXM/DQoNCmBgYHtyfQ0KIyBGdW5jdGlvbiB0byBjYWxjdWxhdGUgY29tYmluYXRpb25zDQpuQ3IgPC0gZnVuY3Rpb24obiwgcikgew0KICBmYWN0b3JpYWwobikgLyAoZmFjdG9yaWFsKHIpICogZmFjdG9yaWFsKG4gLSByKSkNCn0NCg0KDQpzZW5hdG9ycyA8LSAxNA0KcmVwcmVzZW50YXRpdmVzIDwtIDEzDQoNCiMgVG90YWwgY29tYmluYXRpb25zDQpuQ3IocmVwcmVzZW50YXRpdmVzLCA1KSArIG5DcihyZXByZXNlbnRhdGl2ZXMsIDQpICogbkNyKHNlbmF0b3JzLCAxKQ0KDQpgYGANCg0KDQojIyBRdWVzdGlvbiAzDQoNCmBgYHtyfQ0KIyBDYWxjdWxhdGUgdG90YWwgb3V0Y29tZXMNCmNvaW4gPC0gMl41DQpkaWUgIDwtIDZeMg0KY2FyZCA8LSA1MiAqIDUxICogNTANCg0KY29pbiAqIGRpZSAqIGNhcmQNCmBgYA0KDQoNCiMjIFF1ZXN0aW9uIDQNCg0KYGBge3J9DQojIEZpbmQgdGhlIHByb2JhYmlsaXR5IGFuZCByb3VuZCBpdCB0byA0IGRlY2ltYWxzDQpyb3VuZCgxIC0gKDQ4LzUyKSAqICg0Ny81MSkgKiAoNDYvNTApLCA0KQ0KYGBgDQoNCiMjIFF1ZXN0aW9uIDUNCg0KYGBge3J9DQojIEZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSBjb21iaW5hdGlvbnMNCm5DciA8LSBmdW5jdGlvbihuLCByKSB7DQogIGZhY3RvcmlhbChuKSAvIChmYWN0b3JpYWwocikgKiBmYWN0b3JpYWwobiAtIHIpKQ0KfQ0KDQoNCiMgQ2FsY3VsYXRlIGNvbWJpbmF0aW9ucyBvZiBjaG9vc2luZyA1IG1vdmllcyBmcm9tIHRvdGFsDQphIDwtIG5DcigxNyArIDE0LCA1KQ0KDQojIENhbGN1bGF0ZSBudW1iZXIgb2YgY29tYmluYXRpb25zIHdpdGggYXQgbGVhc3Qgb25lIG15c3RlcnkNCmIgPC0gbkNyKDE3ICsgMTQsIDUpIC0gbkNyKDE3LCA1KQ0KDQpwcmludChhKQ0KcHJpbnQoYikNCg0KYGBgDQoNCg0KIyMgUXVlc3Rpb24gNg0KDQpgYGB7cn0NCiMgRnVuY3Rpb24gdG8gY2FsY3VsYXRlIGNvbWJpbmF0aW9ucw0KbkNyIDwtIGZ1bmN0aW9uKG4sIHIpIHsNCiAgZmFjdG9yaWFsKG4pIC8gKGZhY3RvcmlhbChyKSAqIGZhY3RvcmlhbChuIC0gcikpDQp9DQoNCg0KIyBPdXRwdXQgdGhlIHJlc3VsdCBpbiBzY2llbnRpZmljIG5vdGF0aW9uIHJvdW5kZWQgdG8gdGhlIGh1bmRyZWR0aHMgcGxhY2UNCmZvcm1hdChuQ3IoNCwgMykgKiBuQ3IoMTA0LCAzKSAqIG5DcigxNywgMyksIHNjaWVudGlmaWMgPSBUUlVFLCBkaWdpdHMgPSAzKQ0KDQpgYGANCg0KDQojIyBRdWVzdGlvbiA3DQoNCmBgYHtyfQ0KIyBGdW5jdGlvbiB0byBjYWxjdWxhdGUgcGVybXV0YXRpb25zDQpuUCA8LSBmdW5jdGlvbihuLCByKSB7DQogIGZhY3RvcmlhbChuKSAvIGZhY3RvcmlhbChuIC0gcikNCn0NCg0KdG90YWxfcGVybXV0YXRpb25zIDwtIDANCg0KIyBJdGVyYXRlIHRocm91Z2ggcG9zc2libGUgY29tYmluYXRpb25zIG9mIGJvb2tzDQpmb3IgKG5vdmVsX2NvdW50IGluIDA6bWluKDYsIDEzKSkgew0KICBmb3IgKHBsYXlfY291bnQgaW4gMDptaW4oNiwgMTMgLSBub3ZlbF9jb3VudCkpIHsNCiAgICBmb3IgKHBvZXRyeV9jb3VudCBpbiAwOm1pbig3LCAxMyAtIG5vdmVsX2NvdW50IC0gcGxheV9jb3VudCkpIHsNCiAgICAgIG5vbmZpY3Rpb25fY291bnQgPC0gMTMgLSBub3ZlbF9jb3VudCAtIHBsYXlfY291bnQgLSBwb2V0cnlfY291bnQNCiAgICAgIGlmIChub25maWN0aW9uX2NvdW50IDw9IDQpIHsNCiAgICAgICAgcGVybXV0YXRpb25zIDwtIG5QKDYsIG5vdmVsX2NvdW50KSAqIG5QKDYsIHBsYXlfY291bnQpICogblAoNywgcG9ldHJ5X2NvdW50KSAqIG5QKDUsIG5vbmZpY3Rpb25fY291bnQpDQogICAgICAgIHRvdGFsX3Blcm11dGF0aW9ucyA8LSB0b3RhbF9wZXJtdXRhdGlvbnMgKyBwZXJtdXRhdGlvbnMNCiAgICAgIH0NCiAgICB9DQogIH0NCn0NCg0KIyAgU3RlcCAxDQpwcmludChmb3JtYXQodG90YWxfcGVybXV0YXRpb25zLCBzY2llbnRpZmljID0gVFJVRSwgZGlnaXRzID0gMykpDQoNCiMgU3RlcCAyDQpyZW1haW5pbmcgPC0gblAoNiArIDcgKyA1LCAxMyAtIDYpDQoNCiMgT3V0cHV0IHRoZSByZXN1bHQgZm9yIHN0ZXAgMg0KcHJpbnQoZm9ybWF0KHJlbWFpbmluZywgc2NpZW50aWZpYyA9IFRSVUUsIGRpZ2l0cyA9IDIpKQ0KDQpgYGANCg0KDQojIyBRdWVzdGlvbiA4DQoNCmBgYHtyfQ0KMiAvIGZhY3RvcmlhbCgxMCkNCmBgYA0KDQoNCiMjIFF1ZXN0aW9uIDkNCg0KYGBge3J9DQojIENhbGN1bGF0ZSBleHBlY3RlZCB2YWx1ZSAxDQpleHBlY3RlZF92YWx1ZTEgPC0gcm91bmQoKDQ0LzUyKSo0Kyg4LzUyKSooLTE2KSwyKQ0KDQojIENhbGN1bGF0ZSBleHBlY3RlZCB2YWx1ZSAyDQpleHBlY3RlZF92YWx1ZTIgPC0gcm91bmQoKDQ0LzUyKSo4MzMqNCArICg4LzUyKSo4MzMqKC0xNiksMikNCg0KcHJpbnQoZXhwZWN0ZWRfdmFsdWUxKQ0KcHJpbnQoZXhwZWN0ZWRfdmFsdWUyKQ0KYGBgDQoNCg==