Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func probRed(red, black int) float64 {
  6. rf := float64(red)
  7. bf := float64(black)
  8. return rf / (rf + bf)
  9. }
  10.  
  11. func answerA() (int, int, int) {
  12. for r := 2; true; r++ {
  13. for b := 0; b < r; b++ {
  14. if probRed(r, b)*probRed(r-1, b) == 0.5 {
  15. return r + b, r, b
  16. }
  17. }
  18. }
  19. return -1, -1, -1
  20. }
  21.  
  22. func answerB() (int, int, int) {
  23. for r := 2; true; r++ {
  24. for b := 2; b < r; b += 2 {
  25. if probRed(r, b)*probRed(r-1, b) == 0.5 {
  26. return r + b, r, b
  27. }
  28. }
  29. }
  30. return -1, -1, -1
  31. }
  32.  
  33. func main() {
  34. aTotal, aRed, aBlack := answerA()
  35. fmt.Printf("Answer A: %d (%d red, %d black)\n", aTotal, aRed, aBlack)
  36.  
  37. bTotal, bRed, bBlack := answerB()
  38. fmt.Printf("Answer B: %d (%d red, %d black)\n", bTotal, bRed, bBlack)
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement