Pseudo-random numbers/Middle-square method: Difference between revisions

→‎{{header|Lambdatalk}}: improving following the C code
(adding lambdatalk task)
(→‎{{header|Lambdatalk}}: improving following the C code)
Line 677:
 
=={{header|Lambdatalk}}==
Following C:
<syntaxhighlight lang="Scheme">
{{def msrandomrandoms
{lambda {:s :n}
{if {>= :n 0}
then :s
{msrandomrandoms {W.slicefloor 3{% -3{/ {pow* :s 2:s} 1.e3} {- :n 1.e6}}
{- :n 1}}
else}}}
-> msrandomrandoms
 
{msrandomrandoms 675248 5100}
-> 675248 959861 333139 981593 524817 432883 387691 304311 605184 247673 341914 905183 356263 923325 529055 899193 548051 359898 526570 275964 156129 376264 574597 161712 150770 731592 226854 462737 125531 758031 610996 316112 926796 950825 68180 648512 567814 412738 352656 366254 141992 161728 155945 318843 660858 733296 723023 762258 37258 388158 666632 398223 581557 208544 490599 687378 488514 645928 222981 720526 157716 874336 463440 776633 158816 222521 515595 838204 585945 331543 920760 798977 364246 675148 824821 329682 690221 405028 47680 273382 737717 226372 244282 673695 864953 143692 647390 113812 953171 534955 176852 276629 523603 160101 632330 841228 664547 622715 773971 31108 967707
-> 675248 959861 333139 981593 524817 432883
</syntaxhighlight>
 
99

edits