470.implement-rand10-using-rand7.go 238 B

123456789101112131415
  1. func rand10slow() int {
  2. for {
  3. if r49 := 7*(rand7()-1) + rand7(); r49 <= 40 {
  4. return r49%10 + 1
  5. }
  6. }
  7. }
  8. func rand10() int {
  9. for {
  10. if r343 := 49*(rand7()-1) + 7*(rand7()-1) + rand7(); r343 <= 340 {
  11. return r343%10 + 1
  12. }
  13. }
  14. }