📄 factor.b
字号:
* factor an arbitrarily large positive integer** Copyright (C) 1999-2001 by Brian Raiter* under the GNU General Public License>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-** read in the number*<<<<<<<<<+[-[>>>>>>>>>>][-]<<<<<<<<<<[[->>>>>>>>>>+<<<<<<<<<<]<<<<<<<<<<] >>>>>>>>>>,----------]>>>>>>>>>>[------------------------------------->>>>>>>>>->]<[+>[>>>>>>>>>+>]<-<<<<<<<<<<]-** display the number and initialize the loop variable to two*[>++++++++++++++++++++++++++++++++++++++++++++++++. ------------------------------------------------<<<<<<<<<<<]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.--------------------------.[-]>>>>>>>>>>>>++<<<<+** the main loop*[ [-]>> * * make copies of the number and the loop variable * [>>>>[-]>[-]>[-]>[-] >[-]>[-] <<<<<<<[->>>+>+<<<<]>>>>>>>>] <<<<<<<<<<[>>>>>>[-<<<<+>>>>]<<<<<<<<<<<<<<<<]>>>>>>>>>> [>[->>>+>>+<<<<<]>>>>>>>>>] <<<<<<<<<<[>>>>>>[-<<<<<+>>>>>]<<<<<<<<<<<<<<<<]>>>>>>>>>> * * divide the number by the loop variable * [>>>[-]>>>[-]>[-]>>>] initialize <<<<<<<<<<[<<<<<<<<<<] >>>>>>>>>[-]>>>>>>>+<<<<<<<<[+]+ [ ->> double divisor until above dividend [>>>>>>[->++<]>>>>]<<<<<<<<<< [>>>>>>>>[-]>[-] <<<<[->>>++<<<]<<<<<<<<<<<<<<<]>>>>>>>>>> [>>>>>>>>[->+<[->+<[->+<[->+<[->+<[->+<[->+<[->+<[->+< [->--------->>>>>>>>>+<<<<<<<<<<[->+<]]]]]]]]]]]>>] <<<<<<<<<<[>>>>>>>>>[-<+<<<+>>>>]<<<<<<<<<<<<<<<<<<<]>>>>>>>>>> [>>>>>>>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+> [-<--------->>>>>>>>>>>+<<<<<<<<<<[-<+>]]]]]]]]]]]>>>] <<<<<<<<<< [>>>>[->>>+>>+<<<<<]<<<<<<<<<<<<<<] >>>>>>>>>>[>>>>>>>[-<<<+>>>]>>>]<<<<<<<<<< [>>>>>>>>[->-<]> [<<<<<<<<<[<[-]>>>>>>>>>>[-<<<<<<<<<<+>>>>>>>>>>]<<<<<<<<<<<<<<<<<<<] >>>>>>>>>>>>>>>>>>>] <<<<<<<<<<<<<<<<<<<] >>>>>>>>>[+[+[+[+[+[+[+[+[+[+[[-]<+>]]]]]]]]]]]< ] >>>>>>>> [ subtract divisor from dividend <<<<<< [>>>>>>>>[-]>[-]<<<<<[->>>+>+<<<<]>>>>>>]<<<<<<<<<< [>>>>>>>>[-<<<<+>>>>]<<<[->>>+>+<<<<]<<<<<<<<<<<<<<<]>>>>>>>>>> [>>>>>>>>>[-<<<<+>>>>]>]<<<<<<<<<< [>>>>>>>>[-<->]<<<<<<<<<<<<<<<<<<]>>>>>>>>>> [>>>>>>>[->+<[->+<[->+<[->+<[->+<[->+<[->+<[->+<[->+<[->+< [++++++++++[+>-<]>>>>>>>>>>-<<<<<<<<<<]]]]]]]]]]]>>>] >>>>>>>+ [ if difference is nonnegative then [-]<<<<<<<<<<<<<<<<< replace dividend and increment quotient [>>>>[-]>>>>[-<<<<+>>>>]<<[->>+<<]<<<<<<<<<<<<<<<<]>>>>>>>>>> [>>>>>>>>[->+<<<+>>]>>]<<<<<<<<<< [>>>[->>>>>>+<<<<<<]<<<<<<<<<<<<<]>>>>>>>>>> [>>>>>>>>>[-<<<<<<+>>>>>>[-<<<<<<+>>>>>> [-<<<<<<+>>>>>>[-<<<<<<+>>>>>> [-<<<<<<+>>>>>>[-<<<<<<+>>>>>> [-<<<<<<+>>>>>>[-<<<<<<+>>>>>> [-<<<<<<+>>>>>>[-<<<<<<--------->>>>>>>>>>>>>>>>+<<<<<<<<<< [-<<<<<<+>>>>>>]]]]]]]]]]]>] >>>>>>> ] halve divisor and loop until zero <<<<<<<<<<<<<<<<<[<<<<<<<<<<]>>>>>>>>>> [>>>>>>>>[-]<<[->+<]<[->>>+<<<]>>>>>]<<<<<<<<<< [+>>>>>>>[-<<<<<<<+>>>>>>>[-<<<<<<<->>>>>>+> [-<<<<<<<+>>>>>>>[-<<<<<<<->>>>>>+> [-<<<<<<<+>>>>>>>[-<<<<<<<->>>>>>+> [-<<<<<<<+>>>>>>>[-<<<<<<<->>>>>>+> [-<<<<<<<+>>>>>>>]]]]]]]]]<<<<<<< [->>>>>>>+<<<<<<<]-<<<<<<<<<<] >>>>>>> [-<<<<<<<<<<<+>>>>>>>>>>>] >>>[>>>>>>>[-<<<<<<<<<<<+++++>>>>>>>>>>>]>>>]<<<<<<<<<< [+>>>>>>>>[-<<<<<<<<+>>>>>>>>[-<<<<<<<<->>>>>+>>> [-<<<<<<<<+>>>>>>>>[-<<<<<<<<->>>>>+>>> [-<<<<<<<<+>>>>>>>>[-<<<<<<<<->>>>>+>>> [-<<<<<<<<+>>>>>>>>[-<<<<<<<<->>>>>+>>> [-<<<<<<<<+>>>>>>>>]]]]]]]]]<<<<<<<< [->>>>>>>>+<<<<<<<<]-<<<<<<<<<<] >>>>>>>>[-<<<<<<<<<<<<<+>>>>>>>>>>>>>]>> [>>>>>>>>[-<<<<<<<<<<<<<+++++>>>>>>>>>>>>>]>>]<<<<<<<<<< [<<<<<<<<<<]>>>>>>>>>> >>>>>> ] <<<<<< * * make copies of the loop variable and the quotient * [>>>[->>>>+>+<<<<<]>>>>>>>] <<<<<<<<<< [>>>>>>>[-<<<<+>>>>]<<<<<[->>>>>+>>+<<<<<<<]<<<<<<<<<<<<] >>>>>>>>>>[>>>>>>>[-<<<<<+>>>>>]>>>]<<<<<<<<<< * * break out of the loop if the quotient is larger than the loop variable * [>>>>>>>>>[-<->]< [<<<<<<<< [<<[-]>>>>>>>>>>[-<<<<<<<<<<+>>>>>>>>>>]<<<<<<<<<<<<<<<<<<] >>>>>>>>>>>>>>>>>>]<<<<<<<<<<<<<<<<<<] >>>>>>>>[>-<[+[+[+[+[+[+[+[+[+[[-]>+<]]]]]]]]]]]>+ [ [-] * * partially increment the loop variable * <[-]+>>>>+>>>>>>>>[>>>>>>>>>>]<<<<<<<<<< * * examine the remainder for nonzero digits * [<<<<<<[<<<<[<<<<<<<<<<]>>>>+<<<<<<<<<<]<<<<] >>>>>>>>>>>>>>>>>>>>[>>>>>>>>>>]<<<<<<<<<<[<<<<<<<<<<] >>>>- [ [+] * * decrement the loop variable and replace the number with the quotient * >>>>>>>>-<<[>[-]>>[-<<+>>]>>>>>>>]<<<<<<<<<< * * display the loop variable * [+>>[>>>>>>>>+>>]<<-<<<<<<<<<<]- [>>++++++++++++++++++++++++++++++++++++++++++++++++. ------------------------------------------------<<<<<<<<<<<<] ++++++++++++++++++++++++++++++++.[-]>>>> ] * * normalize the loop variable * >>>>>> [>>[->>>>>+<<<<<[->>>>>+<<<<< [->>>>>+<<<<<[->>>>>+<<<<< [->>>>>+<<<<<[->>>>>+<<<<< [->>>>>+<<<<<[->>>>>+<<<<< [->>>>>+<<<<<[->>>>>--------->>>>>+<<<<<<<<<< [->>>>>+<<<<<]]]]]]]]]]]>>>>>>>>] <<<<<<<<<<[>>>>>>>[-<<<<<+>>>>>]<<<<<<<<<<<<<<<<<] >>>>>>>>> ]<]>>** display the number and end*[>>>>>>>>>>]<<<<<<<<<<[+>[>>>>>>>>>+>]<-<<<<<<<<<<]-[>++++++++++++++++++++++++++++++++++++++++++++++++.<<<<<<<<<<<]++++++++++.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -