рджрд┐рд▓рдЪрд╕реНрдк RANDOM рд╡реНрдпрд╡рд╣рд╛рд░ zsh рдореЗрдВ

рдореЛрдВрдЯреА-рд╣реЙрд▓ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬреЛ рдЗрд╕ рдкреНрд░рдпреЛрдЧ рдХреЛ рдХрдИ рд╣рдЬрд╛рд░ рдмрд╛рд░ рдореЙрдбрд▓ рдХрд░реЗрдЧрд╛ (рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдЗрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдХреЛ рджреЗрдЦрд╛)ред

рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдЕрдкрдиреЗ рд▓рд┐рдирдХреНрд╕ рд╢реЗрд▓ рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд░реИрдВрдбрдо рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдпрд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд░реИрдВрдбрдо рдПрдХ рдРрд╕рд╛ рд╡реИрд░рд┐рдПрдмрд▓ рд╣реИ рдЬреЛ 0 рд╕реЗ 32k рддрдХ рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдорд╛рди рд▓реЗрддрд╛ рд╣реИред

10,000 рдореЗрдВ рд╕реЗ рдХрд┐рддрдиреА рдмрд╛рд░ - рд░реИрдВрдбрдо рд╡рд┐рд╖рдо рд╣реЛрдЧрд╛?

рдЦреИрд░, рд▓рдЧрднрдЧ 5,000 рдмрд╛рд░ ... рдЬрд╛рдБрдЪ рдХрд░реЗрдВ?

% for i in {1..10000} ; do test $(( RANDOM % 2 )) -eq 1 && echo 1 ; done | wc -l

4985







рдФрд░ рдЕрдЧрд░ рдореИрдВ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреНрдпрд╛ рдореБрдЭреЗ рдлрд┐рд░ рд╕реЗ 4985 рдорд┐рд▓реЗрдЧрд╛? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рдм рдЙрд╕ рд╢реЗрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред





рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рд╕рдм рдХреБрдЫ рджрд┐рдЦрддрд╛ рд╣реИ:

$ for i in {1..10000} ; do test $(( RANDOM % 2 )) -eq 1 && echo 1 ; done | wc -l

5057

$ for i in {1..10000} ; do test $(( RANDOM % 2 )) -eq 1 && echo 1 ; done | wc -l

4940

$ for i in {1..10000} ; do test $(( RANDOM % 2 )) -eq 1 && echo 1 ; done | wc -l

5021








рд╣рд╛рд▓рд╛рдВрдХрд┐, zsh рдореЗрдВ, рдПрдХ рд╕рддреНрд░ рдХреЗ рднреАрддрд░ - рд░реИрдВрдбрдо рд╡рд╣реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмрд╣реБрдд рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рд╣реИред



% for i in {1..10000} ; do test $(( RANDOM % 2 )) -eq 1 && echo 1 ; done | wc -l

4985

% for i in {1..10000} ; do test $(( RANDOM % 2 )) -eq 1 && echo 1 ; done | wc -l

4985

% for i in {1..10000} ; do test $(( RANDOM % 2 )) -eq 1 && echo 1 ; done | wc -l

4985








рдпрд╣рд╛рдБ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ "bagoficha рд╣реИред"

рдЖрджреЗрд╢реЛрдВ рдХреЗ рджреЛ рд╕реЗрдЯ, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрдирд╛ рдорд╛рдирдХ рдзрд╛рд░рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдлрд╝рд╛рдЗрд▓

 i рдореЗрдВ {1..10000} рдХреЗ рд▓рд┐рдП;  
   $ рдЧреВрдВрдЬ рдХрд░реЛ ((рд░реИрдВрдбрдо% 2)); 
 рд╣реЛ рдЧрдпрд╛ |  awk '/ 1 / {N ++} END {рдкреНрд░рд┐рдВрдЯ N}' 

 i рдореЗрдВ {1..10000} рдХреЗ рд▓рд┐рдП;  
   $ рдЧреВрдВрдЬ рдХрд░реЛ ((рд░реИрдВрдбрдо% 2)); 
 рдХрд┐рдпрд╛> tmp_file && awk '/ 1 / {N ++} END {рдкреНрд░рд┐рдВрдЯ N}' tmp_file
рдПрдХ рд╣реА рдмрд╛рдд рдХрд░рддрд╛ рд╣реИ - рд░реИрдВрдбрдо рдХреА рд╡рд┐рд╖рдо рдмреВрдВрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЧрд┐рдирд╛рддрд╛ рд╣реИред рдПрдХ рд╣реА zsh-session рдХреЗ рдкрд╣рд▓реЗ рд╢реБрд░реВ - рд╣рдореЗрдВ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗрдЧрд╛, рдФрд░ рджреВрд╕рд░рд╛ - рд╣рд░ рдмрд╛рд░ рдПрдХ рдирдпрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛ред



All Articles