June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
29
Task/Benfords-law/Factor/benfords-law.factor
Normal file
29
Task/Benfords-law/Factor/benfords-law.factor
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
USING: assocs compiler.tree.propagation.call-effect formatting
|
||||
kernel math math.functions math.statistics math.text.utils
|
||||
sequences ;
|
||||
IN: rosetta-code.benfords-law
|
||||
|
||||
: expected ( n -- x ) recip 1 + log10 ;
|
||||
|
||||
: next-fib ( vec -- vec' )
|
||||
[ last2 ] keep [ + ] dip [ push ] keep ;
|
||||
|
||||
: data ( -- seq ) V{ 1 1 } clone 998 [ next-fib ] times ;
|
||||
|
||||
: 1st-digit ( n -- m ) 1 digit-groups last ;
|
||||
|
||||
: leading ( -- seq ) data [ 1st-digit ] map ;
|
||||
|
||||
: .header ( -- )
|
||||
"Digit" "Expected" "Actual" "%-10s%-10s%-10s\n" printf ;
|
||||
|
||||
: digit-report ( digit digit-count -- digit expected actual )
|
||||
dupd [ expected ] dip 1000 /f ;
|
||||
|
||||
: .digit-report ( digit digit-count -- )
|
||||
digit-report "%-10d%-10.4f%-10.4f\n" printf ;
|
||||
|
||||
: main ( -- )
|
||||
.header leading histogram [ .digit-report ] assoc-each ;
|
||||
|
||||
MAIN: main
|
||||
Loading…
Add table
Add a link
Reference in a new issue