J рдХреЛ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдЯрд┐рди! рдпрд╣ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рддрд░рд╣ рд╣реИ ...

рдирд╣реАрдВ, рддреБрдо рдореБрдЭреЗ рдордЬрдмреВрд░ рдордд рдХрд░реЛ! рдлрд┐рд░ рдХрднреА!
рдореИрдВ рдХреЛрдб рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдмреЗрд╡рдХреВрдл рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд┐рдорд╛рдЧ рдХреА рддрд░рд╣ рдПрдХ рдЧреВрдврд╝ рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реИ? рдХреНрдпрд╛ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ? рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдкрдврд╝рд╛?
quicksort=: (($:@(<#[), (=#[), $:@(>#[)) ({~ ?@#)) ^: (1<#)



Perl рдирд╕реЛрдВ рдкрд░ рдЬреЛрд░ рд╕реЗ рдзреВрдореНрд░рдкрд╛рди рдХрд░рддрд╛ рд╣реИред
рд╣рдмрд░рд╣рд╛рдм рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЗ



рдЫрд╡рд┐ J рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХреЛрд░рд┐рдпрд╛рдИ рд╣реИ ред рд╡рд┐рд╢реЗрд╖ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдХрд╛рд░рдЦрд╛рдиреЗ рдореЗрдВ рд╡рд┐рд╕реНрдлреЛрдЯред рдмреНрд░реИрдХреЗрдЯ, рдбреЙрдЯреНрд╕, рд╕реНрд▓реИрд╢ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдФрд░ рдпрд╣ рд╕рдм рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛ рдХрд╛рд▓реЗ рдЬрд╛рджреВ рдХреЗ рдЗрд╢рд╛рд░реЗ рдкрд░ рдирд╣реАрдВ, рдпрд╛ рдпрд╣рд╛рдБ рддрдХ рдХрд┐ рдЦреБрдж рд╢реИрддрд╛рди рдиреЗ рднреАред



рдЬреЗ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреА рдЦреЛрдЬ рдореЗрдВ рдХрд┐рд╕реА рднреА рдХреЛрдб рдХреЛ рд▓рд┐рдЦрдиреЗ рдпрд╛ рдмрд╕ рджреВрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдирд┐рдпрдореЛрдВ рдХреЛ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдпреЗ рдирд┐рдпрдо рдирдП рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдПрдкреАрдПрд▓ рдЬреИрд╕реА рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдирд┐рд░реНрдорд╛рдг рдкрдврд╝рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ ((]i.~[:{.[){([:{:[),]`([:<[$:[:>])@.([:32&=[:3!:0[:>]))"2 0



рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдорд╕реНрддрд┐рд╖реНрдХ рднреА рдПрдХ рдЯреНрдпреВрдм рдореЗрдВ рддрд╣ рдХрд░рддрд╛ рд╣реИред



рддреЛ, рдПрдХ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рдкрдардиреАрдп рдЬреЗ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдирд┐рдпрдоред



рдХрдЯ рдХреЗ рддрд╣рдд рдПрдХ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рдмрд┐рдирд╛ рдпрд╣ рдзреНрдпрд╛рди рди рджреЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдЖрдкрдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреА рдЧрдИ рдереАред

рдФрд░ рдпрд╛рдж рд░рдЦреЗрдВ, рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ рдХреА рдПрдХ рд╕реВрдЪреАред





рдорд╣рд╛рдорд╛рд░рд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ



рдпрджрд┐ рдпрд╣ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдпрд╛ рдмрд╕ рдЕрдХреНрд╕рд░ рдЭрд╛рдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдпрд╛ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ, рдпрд╛ рдЙрд╕ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ - рдЗрд╕реЗ рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд▓рдкреЗрдЯреЗрдВ:

  head =: {. tail =: {: head 9 8 3 0 6 1 2 5 4 7 9 tail 9 8 3 0 6 1 2 5 4 7 7
      
      





рдлреВрдЯ рдбрд╛рд▓реЛ рдФрд░ рдЬреАрддреЛ



рдХрднреА-рдХрднреА рдПрдХ рдЬрдЯрд┐рд▓, рдЬрдЯрд┐рд▓ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдХрдИ рд╕рд░рд▓ рд▓реЛрдЧреЛрдВ рдореЗрдВ рддреЛрдбрд╝рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред

  logistic =: dyad : '(^ - y % x) % x * *: >: ^ - y % x' exp =: dyad : '^ - y % x' logistic =: dyad : '(x exp y) % x * *: >: x exp y
      
      





рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ



J рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ NB.



рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВ NB.



, рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл рдорд╛рдорд▓рд╛ рд╣реИ рдЬрдм рдХрдИ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ ! рдпрджрд┐ рдЖрдк рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдпрд╛ рдФрджреНрдпреЛрдЧрд┐рдХ рдХреЛрдб рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдЯрди рдкрд░ рдареЛрдХрд░ рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ; рдЕрдХреНрд╕рд░ рд╡реЗ рд╕реНрд╡рдпрдВ рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдИ рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╣реЛрддреЗ рд╣реИрдВ: рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдЬреЗ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдФрд░ рдкреНрд░рдпрд╛рд╕ рдЖрдорддреМрд░ рдкрд░ рдЦреБрдж рдХреЛ рдФрдЪрд┐рддреНрдп рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред



рдЕрдзрд┐рдХ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди, рдЕрдЪреНрдЫрд╛ рдФрд░ рдЕрд▓рдЧ



рдЬреЗ рдкрд░ рдФрд╕рдд рдПрдХ-рд▓рд╛рдЗрдирд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмреАрд╕ рдХрдордЬреЛрд░ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рдкрд╛рддреНрд░ рд╣реЛрддреЗ рд╣реИрдВ, рдкрдврд╝рдиреЗ рдХреЛ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдЬрдЯрд┐рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдлреИрд▓реЗ рд╣реБрдП рд╕реНрдерд╛рди рдФрд░ рдХреЛрд╖реНрдардХ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рднреНрд░рдорд┐рдд рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред

  (]%[**:@>:@])[:^[:-%~ (] % [ * *:@>:@]) [: ^ [: - %~
      
      





рдЫрд┐рдкреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдмреЗрд╣рддрд░ рд╣реИ



рдЬрдЯрд┐рд▓ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЯреИрд╕реАрдЯ рдХреЗ рдмрдЬрд╛рдп рд╕реНрдкрд╖реНрдЯ рд╕рдВрдХреЗрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдХреНрд╕рд░ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред

  (] % [ * *:@>:@]) [: ^ [: - %~ dyad : '(] % (x * *:@>:@])) ^ -y%x'
      
      





рд╣реБрдХ рдФрд░ рдХрд╛рдВрдЯреЗ рдЖрдкрдХреЗ рдорд┐рддреНрд░ рд╣реИрдВ



рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдереЗ рдпрд╛ рднреВрд▓ рдЧрдП рдереЗ:

  (fg) y тЗФ yf (gy) x (fg) y тЗФ xf (gy) (fgh) y тЗФ (fy) g (hy) x (fgh) y тЗФ (xfy) g (xhy)
      
      





рдпреЗ рд╕рд░рд▓ рдирд┐рд░реНрдорд╛рдг рдЕрдХреНрд╕рд░ рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдЖрдзрд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рд▓рдЧрднрдЧ рдкрдардиреАрдпрддрд╛ рд╕реЗ рд╕рдордЭреМрддрд╛ рдХрд┐рдП рдмрд┐рдирд╛ред



рд╢рд╛рд╕реА рд╕рдВрд░рдЪрдирд╛рдПрдВ



рдЬреЗ рдореЗрдВ рд╕рднреА рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдВрддреНрд░рдг рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рд╕реНрдкрд╖реНрдЯ рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рд╢рд╛рдЦрд╛рдПрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдХреА рддрд░рд╣ рд╣реА рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ: рдпрджрд┐ T



рд╕реНрдерд┐рддрд┐ 1 рд╣реИ, рддреЛ B



рдХреЛ рдмреНрд▓реЙрдХ рдХрд░реЗрдВ, рдЕрдиреНрдпрдерд╛ рд╣рдо рдЕрдЧрд▓реЗ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ else./elseif.



рдмреНрд▓реЙрдХ else./elseif.



рдЕрдЧрд░ рд╡рд╣ рд╣реИ

 if. T do. B end. if. T do. B else. B1 end. if. T do. B elseif. T1 do. B1 elseif. T2 do. B2 end.
      
      





while.



рдФрд░ whilst.



T



1 рддрдХ рдмреНрд▓реЙрдХ B



рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, whilst.



рдЕрдВрддрд░ рдХреЗ рд╕рд╛рде whilst.



рдкрд╣рд▓реЗ рдкрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП B



рд╣рдореЗрд╢рд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдЪрд▓рддрд╛ рд╣реИред

 while. T do. B end. whilst. T do. B end.
      
      





for.



рдмрд╕ B



рдХреЛ рдХрдИ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ T



рдореЗрдВ рддрддреНрд╡ рд╣реИрдВ; for_i.



рдХреНрд░рдорд╢рдГ рдЪрд░ i



рдФрд░ i_index



- рддрддреНрд╡ рдФрд░ рдЙрд╕рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рддрд╛ рд╣реИред

 for. T do. B end. for_i. T do. B end.
      
      





select.



рд╕рдВрдмрдВрдзрд┐рдд рдмреНрд▓реЙрдХ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдкрд╣рд▓реЗ Ti



рдорд┐рд▓рд╛рди T



рдЬрд╛рддрд╛ рд╣реИред fcase.



- case.



"рдЕрд╕рдлрд▓" рдХреЗ рд╕рд╛рдеред

 select. T case. T0 do. B0 case. T1 do. B1 fcase.T2 do. B2 case. T3 do. B3 end.
      
      





рдпрджрд┐ рдмреНрд▓реЙрдХ B



рд╡рд┐рдлрд▓ рд╣реБрдЖ, рддреЛ рдмреНрд▓реЙрдХ B1



рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдЕрдиреНрдпрдерд╛ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВред

 try. B catch. B1 end.
      
      








рдЖрдЗрдП рдЗрд╕ рдкреЛрд╕реНрдЯ рд╕реЗ рд╕реБрдбреЛрдХреВ рд╕реЙрд▓реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдЗрди рдирд┐рдпрдореЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рд╕реНрд░реЛрдд рдХреЛрдб:

  i =: ,((,|:)i.9 9),,./,./i.4$3 c =: (#=[:#~.)@-.&0 t =: [:(([:*/_9:c\])"1#])i&{+"1 1(>:i.9)*/[:i&=i.&0 r =: [:,`$:@.(0:e.,)[:;(<@t)"1 s =: 9 9&$@r@,
      
      





рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо:

  cells =: ,./^:2 i. 4 # 3 rows_cols =: ((, |:) i. 9 9) indices =: , rows_cols, cells no_errors =: verb : '(-: ~.) y -. 0' substitutions =: verb : '(indices { y) +"1 1 ((>:i.9) */ indices = y i. 0)' remove_wrong =: verb : 'y #~ */"(1) _9 no_errors\"1 y' try =: remove_wrong @ substitutions solve =: verb define variants =: y whilst. 0 e. ,variants do. variants =: ; (<@try)"1 variants end. ,variants ) sudoku =: verb : '9 9 $ solve , y'
      
      





рдХрд╛рдо рдХрд╛ рдирддреАрдЬрд╛
  m 2 0 0 3 7 0 0 0 9 0 0 9 2 0 0 0 0 7 0 0 1 0 0 4 0 0 2 0 5 0 0 0 0 8 0 0 0 0 8 0 0 0 9 0 0 0 0 6 0 0 0 0 4 0 9 0 0 1 0 0 5 0 0 8 0 0 0 0 7 6 0 0 4 0 0 0 8 9 0 0 1 sm 2 8 4 3 7 5 1 6 9 6 3 9 2 1 8 4 5 7 5 7 1 9 6 4 3 8 2 1 5 2 4 9 6 8 7 3 3 4 8 7 5 2 9 1 6 7 9 6 8 3 1 2 4 5 9 6 7 1 4 3 5 2 8 8 1 3 5 2 7 6 9 4 4 2 5 6 8 9 7 3 1 sudoku m 2 8 4 3 7 5 1 6 9 6 3 9 2 1 8 4 5 7 5 7 1 9 6 4 3 8 2 1 5 2 4 9 6 8 7 3 3 4 8 7 5 2 9 1 6 7 9 6 8 3 1 2 4 5 9 6 7 1 4 3 5 2 8 8 1 3 5 2 7 6 9 4 4 2 5 6 8 9 7 3 1
      
      





рдЕрдм рдХреЛрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ! рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдлрд▓рддрд╛ рд╣реИред



All Articles