рдПрдХ рдРрд╕реА рдорд╢реАрди рд▓реЗрдВ рдЬрд┐рд╕рдХрд╛ рдХрдорд╛рдВрдб рд╕рд┐рд╕реНрдЯрдо рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╣реИ рдЬреИрд╕реЗ рдмреНрд░реЗрдирдлреИрдХ рднрд╛рд╖рд╛ рдореЗрдВ, рд▓реЗрдХрд┐рди рдЬреЛ рдПрдХ рдЯреЗрдк рдкрд░ рдЪрд▓рддреА рд╣реИ, рдЬрд┐рд╕рдХреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЖрдк рдХрд┐рд╕реА рднреА рдкреВрд░реНрдгрд╛рдВрдХ рдХреЛ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдВрдХрдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рдкрд░ рд▓рд╛рдЧреВ "+" рдХрдорд╛рдВрдб рд╣рдореЗрд╢рд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рджреЗрдЧрд╛, рдЖрджрд┐ред рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдРрд╕реА рдорд╢реАрди рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рд╣реЛрдВрдЧреА рдФрд░ рдЙрдирдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪреЗрдВрдЧреА?
рд▓рд╛рдн рд╕реНрдкрд╖реНрдЯ рд╣реИрдВ: рдЪреВрдВрдХрд┐ рдХреЛрдИ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд▓рдВрдмреЗ рдЕрдВрдХрдЧрдгрд┐рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрдк рдХрд┐рд╕реА рднреА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрджрд┐ред рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЬрд▓реНрджреА, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╕реЗрд▓ ("[-]") рдХреЛ рдЦрд╛рд▓реА рдХрд░рдиреЗ рдХрд╛ рд╣рдорд╛рд░рд╛ рдкрд╕рдВрджреАрджрд╛ рддрд░реАрдХрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: рдпрджрд┐ рд╕реЗрд▓ рдореЗрдВ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдореВрд▓реНрдп рдерд╛, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реВрдк рд╣реЛрдЧрд╛ред рдЗрд╕реА рддрд░рд╣, рд╣рдо рдХреЙрдкреА рдХрдорд╛рдВрдб "[-> + <] рдХрд╛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рдХреЗрд╡рд▓ рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рд╣рдореЗрдВ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рджрд┐рдЦрдиреЗ рд╕реЗ рд░реЛрдХрд╛ рдЬрд╛рдП), рдФрд░ рдпрджрд┐ рдХреЛрдИ рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╕рдВрдХреЗрдд рдЕрдЬреНрдЮрд╛рдд рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВред
рдпрд╣рд╛рдБ рд╣рдо рджреЛ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдСрдкрд░реЗрдЯрд░ рдХреЛ "if (a> b) C; рдФрд░ рдбреА; "рдЬрд╣рд╛рдВ рдП рдФрд░ рдмреА рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реИрдВ, рдФрд░ рд╕реА рдФрд░ рдбреА рдХреБрдЫ рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рд╣рдо рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдПрдХ рдордирдорд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рдВрдХреЗрдд рдХреЛ рд╢реВрдиреНрдп, рдХреЙрдкреА рдФрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреИрд╕реЗ рдХрд░реЗрдВред
рд╕рд╢рд░реНрдд рдХрдердиред
рддреЛ, рдЯреЗрдк рдкрд░ рджреЛ рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИрдВ a рдФрд░ b (рдЬрд┐рд╕рдореЗрдВ рдХреЛрд╢рд┐рдХрд╛рдПрдВ рд╣рдо рдЦреБрдж рдХреЛ рдЪреБрдирддреЗ рд╣реИрдВ)ред рд╣рдореЗрдВ рдЗрди рдирдВрдмрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ C рдпрд╛ D. рд╕рднреА рд╕реЗрд▓ (рдЬрд┐рдирдореЗрдВ рдП рдФрд░ рдмреА рд╕реНрдерд┐рдд рдереЗ) рдХреЛ рд░реАрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рдо рдСрдкрд░реЗрдЯрд░ рдХреЛ рдЗрд╕ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
рдПрдЪ 1 рд╣реИ; рдЬрдмрдХрд┐ (h) {if (a == 0) {D; a = b = 1; рдПрдЪ 0 рд╣реИ; } рдЕрдЧрд░ (b == 0) {C; a = b = 1; рдПрдЪ 0 рд╣реИ; } рдП -; b--; }
рдпрджрд┐ рдПрдХ рдФрд░ рдмреА рдЧреИрд░-рдЛрдгрд╛рддреНрдордХ рдереЗ, рддреЛ рдРрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд╕рдХрддреА рд╣реИред рдСрдкрд░реЗрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд░ (a == 0) рдмреА; рдЯреЗрдк рдкрд░ 4 рдХреЛрд╢рд┐рдХрд╛рдУрдВ "0 0 1 0" рдХрд╛ рдПрдХ рдмреНрд▓реЙрдХ рдмрдирд╛рдПрдВ рдФрд░ рдХрдорд╛рдВрдбреНрд╕ "[>] >> [B>]" рдкрд░ рдЕрдорд▓ рдХрд░реЗрдВред рдпрджрд┐ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЧрд╛рдбрд╝реА рдмреНрд▓реЙрдХ рдХреА рдкрд╣рд▓реА рд╕реЗрд▓ рдкрд░ рдереА, рддреЛ рдЕрдВрдд рдореЗрдВ рдпрд╣ рдХрд┐рд╕реА рднреА рдЕрд╡рддрд╛рд░ рдореЗрдВ рдЕрдкрдиреЗ 4 рд╡реЗрдВ рд╕реЗрд▓ рдкрд░ рд╣реЛрдЧреАред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ (рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЧрд╛рдбрд╝реА рдФрд░ рдирдВрдмрд░ "a" рд╕реЗрд▓ 0 рдореЗрдВ рд╣реИрдВ, рдФрд░ рдирдВрдмрд░ "b" рд╕реЗрд▓ 4 рдореЗрдВ рд╣реИ):
>> + [
<< [>] >> [C - << + >>>> [-] + <]
> [<] << [D - >> + <<<< [-] +>]
<-> >>> - <<]
рдЪрд░ рдПрдЪ рдХреЗ рд░реВрдк рдореЗрдВ, рдмреНрд▓реЙрдХ "рдПрдХ 0 1 0 рдмреА" рд╕реЗ рдПрдХрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╡реИрд╕реЗ рднреА, рдЗрд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреЛрдИ рдкреНрд░рднрд╛рд╡реА рддреБрд▓рдирд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред
рдЖрдк рдЗрд╕реЗ рд▓рд┐рдЦрдХрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд░рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдПрдЪ 1 рд╣реИ;
рдЬрдмрдХрд┐ (рдП) {
if (b == 0) {C; a = b = 1; рдПрдЪ 0 рд╣реИ; }
рдПрдХ--; b--;
}
if (h) {D; рдПрдЪ = рдмреА = 0; }
рдпрд╣ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛
>>> + <<<
[> [>] >> [C - << + <-] + >>>>]
<<< - <-]
> [-] >> [D-]
рдкреНрд░реЛрдЧреНрд░рд╛рдо рд░рдирдЯрд╛рдЗрдо рдЕрдзрд┐рдХрддрдо (рдП, рдмреА) рд╕реЗ рд░реИрдЦрд┐рдХ рд╣реИред
рдЕрдЬреНрдЮрд╛рдд рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рдВрдЦреНрдпрд╛
рдЯреЗрдк рдкрд░ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рджреЗрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдпрд╣ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИ рдпрд╛ рдирдХрд╛рд░рд╛рддреНрдордХред рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: (1) рдЗрд╕реЗ рд╢реВрдиреНрдп рдХрд░реЗрдВ, (2) рдЗрд╕реЗ рджреВрд╕рд░реЗ рд╕реЗрд▓ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ, рдФрд░ (3) рдП рдПрдл 0 рдпрджрд┐ рдПрдХреНрд╢рди рдПрдл рдХрд░реЗрдВред рд╣рдо рддреАрдиреЛрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд╣рд▓ рдХрд░реЗрдВрдЧреЗред
рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ? рд▓рдЧрднрдЧ рдЙрд╕реА рддрд░рд╣ рдЬрдм рд╣рдо рдЯреНрдпреВрд░рд┐рдВрдЧ рдорд╢реАрди рдХреЗ рдЯреЗрдк рдкрд░ рдПрдХ рдЧреИрд░-рд╢реВрдиреНрдп рд╕реЗрд▓ рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм рддрдХ рд╣рдо 1:
рдЕрдЧрд░ (рдХ) {
x 1 рд╣реИ;
рдЬрдмрдХрд┐ (x) {
y = 2 * x;
рдЬрдмрдХрд┐ (x) {
рдПрдХреНрд╕-; рдП ++; b--;
if (a == 0) x = y = 0;
}
x = 2 * y;
рдЬрдмрдХрд┐ (y) {
y--; рдПрдХ--; рдмреА ++;
рдЕрдЧрд░ (a == 0) {рдПрдл; x = y = 0; }
}
}
}
рдЪрд░ рдХреЛ b рд╕реЗ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ F рддрднреА рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд╣реЛрдЧрд╛, рдЬрдм рдХрд┐рд╕реА рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рди рдзрдирд╛рддреНрдордХ рдерд╛ред BF рдореЗрдВ рдЕрдиреБрд╡рд╛рдж:
[>> + <<<<< +
[[- <++ >> + <]>
[-> -> + [>] >>
[- <<<< [-] << [-]
<<<<<]
<< [-> ++> + <<] >>
[-> +> - [>] >>
[рдПрдл - <<<< [-] <[-]]
<<<<<]
<]]
рд╕рдВрдЪрд╛рд▓рди рд╕рдордп рднреА рдПрдмреНрд╕ (рдП) рд╕реЗ рд░реИрдЦрд┐рдХ рд╣реИред рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрджрд┐ рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ (a == 0) x = y = 0; рдЧрд╛рдбрд╝реА рдЕрдкрдиреЗ рд╕реНрдерд╛рди рд╕реЗ рдмрд╣реБрдд рджреВрд░ рдЪрд▓реА рдЬрд╛рддреА рд╣реИ, рдФрд░ рд╡рд╣рд╛рдБ рдпрд╣ рдмрдиреА рд░рд╣рддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕рдордп рдЪрдХреНрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред
рддреЛ рдХреНрдпрд╛? рд╕рдм рдХреБрдЫ рдЬреЛ 8-рдмрд┐рдЯ BF рдорд╢реАрди рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╣ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдЕрдлрд╕реЛрд╕ред рдПрдХ рдХрд╛рд░реНрдп рд╣реИ рдЬреЛ рдЕрдирдВрдд рдмрд┐рдЯ рдЧрд╣рд░рд╛рдИ рд╡рд╛рд▓реА рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдард┐рди рд╣реИред рдЕрд░реНрдерд╛рддреН, рдЯреЗрдк рдЕрдиреБрднрд╛рдЧ рдХреА рд╕рдлрд╛рдИред рдЕрдЧрд░ рд╣рдореЗрдВ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╢реВрдиреНрдп рд╕реЗ рднрд░реЗ рдЬрд╛рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рд╛рдмрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ :(