Problem I: Ace my homework – Write a complete Go program whose main function spawns a fan of n goroutines and synchronizes them, without busy waiting, so that they cooperatively alternate printing ping pong to standard error, where n is given as a command-line argument. Each line must be printed to standard error by a different goroutine, and no goroutine must printmore than once. The goroutines need not print in the order in which they are created. For instance,
$ go run PingPongFan. go 10
1 ping // printed by goroutine 9
2 pong // printed by goroutine 5
3 ping // printed by goroutine 3
4 pong // printed by goroutine 4
5 ping // printed by goroutine 2
6 pong // printed by goroutine 6
7 ping // printed by goroutine 7
8 pong // printed by goroutine 8
9 ping // printed by goroutine 1
10 pong // printed by goroutine 10
$
Your program must not contain any race conditions. Do not give more than 25 lines of code.
Problem II: Ace my homework – Write a complete Go program whose main function spawns a chain of n goroutines and synchronizes them, without busy waiting, so that they cooperatively alternate printing ping pong to standard error, where n is given as a command-line argument. Each line must be printed to standard error by a different goroutine, and no goroutine must print more than once. For instance,
$ go run PingPongChain. go 10 1 ping // printed by goroutine 1 2 pong // printed by goroutine 2 3 ping // printed by goroutine 3 4 pong // printed by goroutine 4 5 ping // printed by goroutine 5 6 pong // printed by goroutine 6 7 ping // printed by goroutine 7 8 pong // printed by goroutine 8
9 ping // printed by goroutine 9
10 pong // printed by goroutine 10
$
Your program must not contain any race conditions. Do not give more than 25 lines of code.
The Great Controversy of Newton and Leibniz
The great controversy as to who discovered the Calculus first, either Isaac Newton or Gottfried Leibniz, is indeed a sordid affair, which has sullied the arena of science. Boyer speaks the truth when he says that no invention in science or mathematics can be said to be the accomplishment of one or two persons (1959, […]