225 lines
4.1 KiB
Brainfuck
225 lines
4.1 KiB
Brainfuck
compute prime numbers
|
|
to use type the max number then push Alt 1 0
|
|
===================================================================
|
|
======================== OUTPUT STRING ============================
|
|
===================================================================
|
|
>++++++++[<++++++++>-]<++++++++++++++++.[-]
|
|
>++++++++++[<++++++++++>-]<++++++++++++++.[-]
|
|
>++++++++++[<++++++++++>-]<+++++.[-]
|
|
>++++++++++[<++++++++++>-]<+++++++++.[-]
|
|
>++++++++++[<++++++++++>-]<+.[-]
|
|
>++++++++++[<++++++++++>-]<+++++++++++++++.[-]
|
|
>+++++[<+++++>-]<+++++++.[-]
|
|
>++++++++++[<++++++++++>-]<+++++++++++++++++.[-]
|
|
>++++++++++[<++++++++++>-]<++++++++++++.[-]
|
|
>+++++[<+++++>-]<+++++++.[-]
|
|
>++++++++++[<++++++++++>-]<++++++++++++++++.[-]
|
|
>++++++++++[<++++++++++>-]<+++++++++++.[-]
|
|
>+++++++[<+++++++>-]<+++++++++.[-]
|
|
>+++++[<+++++>-]<+++++++.[-]
|
|
|
|
===================================================================
|
|
======================== INPUT NUMBER ============================
|
|
===================================================================
|
|
+ cont=1
|
|
[
|
|
- cont=0
|
|
>,
|
|
======SUB10======
|
|
----------
|
|
|
|
[ not 10
|
|
<+> cont=1
|
|
=====SUB38======
|
|
----------
|
|
----------
|
|
----------
|
|
--------
|
|
|
|
>
|
|
=====MUL10=======
|
|
[>+>+<<-]>>[<<+>>-]< dup
|
|
|
|
>>>+++++++++
|
|
[
|
|
<<<
|
|
[>+>+<<-]>>[<<+>>-]< dup
|
|
[<<+>>-]
|
|
>>-
|
|
]
|
|
<<<[-]<
|
|
======RMOVE1======
|
|
<
|
|
[>+<-]
|
|
]
|
|
<
|
|
]
|
|
>>[<<+>>-]<<
|
|
|
|
===================================================================
|
|
======================= PROCESS NUMBER ===========================
|
|
===================================================================
|
|
|
|
==== ==== ==== ====
|
|
numd numu teid teiu
|
|
==== ==== ==== ====
|
|
|
|
>+<-
|
|
[
|
|
>+
|
|
======DUP======
|
|
[>+>+<<-]>>[<<+>>-]<
|
|
|
|
>+<--
|
|
|
|
>>>>>>>>+<<<<<<<< isprime=1
|
|
|
|
[
|
|
>+
|
|
|
|
<-
|
|
|
|
=====DUP3=====
|
|
<[>>>+>+<<<<-]>>>>[<<<<+>>>>-]<<<
|
|
|
|
=====DUP2=====
|
|
>[>>+>+<<<-]>>>[<<<+>>>-]<<< <
|
|
|
|
|
|
>>>
|
|
|
|
|
|
====DIVIDES=======
|
|
[>+>+<<-]>>[<<+>>-]< DUP i=div
|
|
|
|
<<
|
|
[
|
|
>>>>>+ bool=1
|
|
<<<
|
|
[>+>+<<-]>>[<<+>>-]< DUP
|
|
[>>[-]<<-] IF i THEN bool=0
|
|
>>
|
|
[ IF i=0
|
|
<<<<
|
|
[>+>+<<-]>>[<<+>>-]< i=div
|
|
>>>
|
|
- bool=0
|
|
]
|
|
<<<
|
|
- DEC i
|
|
<<
|
|
-
|
|
]
|
|
|
|
+>>[<<[-]>>-]<<
|
|
>[-]< CLR div
|
|
=====END DIVIDES====
|
|
|
|
|
|
[>>>>>>[-]<<<<<<-] if divides then isprime=0
|
|
|
|
|
|
<<
|
|
|
|
>>[-]>[-]<<<
|
|
]
|
|
|
|
>>>>>>>>
|
|
[
|
|
-
|
|
<<<<<<<[-]<<
|
|
|
|
[>>+>+<<<-]>>>[<<<+>>>-]<<<
|
|
|
|
>>
|
|
|
|
|
|
|
|
|
|
===================================================================
|
|
======================== OUTPUT NUMBER ===========================
|
|
===================================================================
|
|
[>+<-]>
|
|
|
|
[
|
|
======DUP======
|
|
[>+>+<<-]>>[<<+>>-]<
|
|
|
|
|
|
======MOD10====
|
|
>+++++++++<
|
|
[
|
|
>>>+<< bool= 1
|
|
[>+>[-]<<-] bool= ten==0
|
|
>[<+>-] ten = tmp
|
|
>[<<++++++++++>>-] if ten=0 ten=10
|
|
<<- dec ten
|
|
<- dec num
|
|
]
|
|
+++++++++ num=9
|
|
>[<->-]< dec num by ten
|
|
|
|
=======RROT======
|
|
[>+<-]
|
|
< [>+<-]
|
|
< [>+<-]
|
|
>>>[<<<+>>>-]
|
|
<
|
|
|
|
=======DIV10========
|
|
>+++++++++<
|
|
[
|
|
>>>+<< bool= 1
|
|
[>+>[-]<<-] bool= ten==0
|
|
>[<+>-] ten = tmp
|
|
>[<<++++++++++>>>+<-] if ten=0 ten=10 inc div
|
|
<<- dec ten
|
|
<- dec num
|
|
]
|
|
>>>>[<<<<+>>>>-]<<<< copy div to num
|
|
>[-]< clear ten
|
|
|
|
=======INC1=========
|
|
<+>
|
|
]
|
|
|
|
<
|
|
[
|
|
=======MOVER=========
|
|
[>+<-]
|
|
|
|
=======ADD48========
|
|
+++++++[<+++++++>-]<->
|
|
|
|
=======PUTC=======
|
|
<.[-]>
|
|
|
|
======MOVEL2========
|
|
>[<<+>>-]<
|
|
|
|
<-
|
|
]
|
|
|
|
>++++[<++++++++>-]<.[-]
|
|
|
|
===================================================================
|
|
=========================== END FOR ===============================
|
|
===================================================================
|
|
|
|
|
|
>>>>>>>
|
|
]
|
|
<<<<<<<<
|
|
|
|
|
|
|
|
>[-]<
|
|
[-]
|
|
<<-
|
|
]
|
|
|
|
======LF========
|
|
|
|
++++++++++.[-]
|
|
@
|