Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
|
|
@ -0,0 +1,22 @@
|
|||
;; count 1-runs - The vector is not stored
|
||||
(define (runs p n)
|
||||
(define ct 0)
|
||||
(define run-1 #t)
|
||||
(for ([i n])
|
||||
(if (< (random) p)
|
||||
(set! run-1 #t) ;; 0 case
|
||||
(begin ;; 1 case
|
||||
(when run-1 (set! ct (1+ ct)))
|
||||
(set! run-1 #f))))
|
||||
(// ct n))
|
||||
|
||||
;; mean of t counts
|
||||
(define (truns p (n 1000 ) (t 1000))
|
||||
(// (for/sum ([i t]) (runs p n)) t))
|
||||
|
||||
(define (task)
|
||||
(for ([p (in-range 0.1 1.0 0.2)])
|
||||
(writeln)
|
||||
(writeln '🔸 'p p 'Kp (* p (- 1 p)))
|
||||
(for ([n '(10 100 1000)])
|
||||
(printf "\t-- n %5d → %d" n (truns p n)))))
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
func R(n,p) {
|
||||
n.of { 1.rand < p ? 1 : 0}.sum;
|
||||
}
|
||||
|
||||
const t = 100;
|
||||
say ('t=', t);
|
||||
|
||||
range(.1, .9, .2).each { |p|
|
||||
printf("p= %f, K(p)= %f\n", p, p*(1-p));
|
||||
[10, 100, 1000].each { |n|
|
||||
printf (" R(n, p)= %f\n", t.of { R(n, p) }.sum/n / t);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue