#Sesos, 67 66 65 bytes
Sesos, 67 66 65 bytes
###Explanation (In BF, since I actually wrote it in BF first)
Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
Visit Stack ExchangeStack Internal
Knowledge at work
Bring the best of human thought and AI automation together at your work.
Explore Stack Internal #Sesos, 67 6666 65 bytes
Edit: Saved a byte because I don't need this rwd 6 after I changed from sub 1 to add 1 before it.
0000000: 16f8be 76ca83 e653e3 b472f0 750ef0 af9f1f fcebbb ...v...S..r.u........ 0000015: 7f7ec6 777dc377e13b 777e83bf41f7 ee53c22961f0 e05f3faf9f1f 3ff8d7fcebbb 77ffdc7f6ec7 .~.w}.w~;.A.S)a.._??..w....n. 000002a: 8e7f803fc013 27de3bef9da3 4741f7a0fbbc 79efd877ecc7 8fefdc776e1b 367ee7bf73b8 70afd4576a9c ?...'.;GA.y...w..6~wn.p.s.Wj. 000003f: 38cd7c663e 8.| f> set numin set numout get jmp ; n += (n==2) sub 1 fwd 1 add 1 fwd 1 add 1 rwd 2 jnz add 2 fwd 1 jmp sub 1 rwd 1 sub 1 fwd 1 jnz add 1 rwd 1 jmp fwd 1 sub 1 rwd 1 get jnz fwd 1 jmp sub 1 fwd 1 add 1 rwd 1 jnz fwd 1 jmp ; list from n to 1 jmp sub 1 fwd 3 add 1 rwd 3 jnz fwd 3 jmp sub 1 fwd 3 add 1 rwd 6 add 1 fwd 3 jnz fwd 3 sub 1 jnz rwd 6 ; List [n, n-1, ..., 2, 2]. We don't want n%1. add 1 rwd 6 jmp rwd 6 jnz fwd 6 jmp ; move n one cell to the left sub 1 rwd 1 add 1 fwd 1 jnz add 2 ; copy the n's jmp rwd 1 jmp sub 1 fwd 3 add 1 rwd 3 jnz fwd 3 jmp sub 1 fwd 3 add 1 rwd 6 add 1 fwd 3 jnz fwd 4 jnz rwd 7 jmp ; compute each divmod, only the n%d results will be used jmp sub 1 fwd 1 sub 1 jmp fwd 1 add 1 fwd 2 jnz fwd 1 jmp add 1 jmp sub 1 rwd 1 add 1 fwd 1 jnz fwd 1 add 1 fwd 2 jnz rwd 5 jnz rwd 6 jnz fwd 8 jmp ; go to first modulus of zero, or past end of list fwd 6 jnz fwd 1 ; negate cell to the right jmp rwd 1 add 1 fwd 1 jmp sub 1 jnz jnz add 1 rwd 1 jmp fwd 1 sub 1 rwd 1 sub 1 jnz fwd 1 ; output put <<<<<<+ <<<<<<[<<<<<<]>>>>>>[<<<<<<]>>>>>> 0 {0 >n 0 0 0 0, 0 n-1 0 0 0 0, ..., 0 2 0 0 0 0} #Sesos, 67 66 bytes
0000000: 16f8be 76ca83 e653e3 b472f0 750ef0 af9f1f fcebbb ...v...S..r.u........ 0000015: 7f7ec6 777dc3 777e83 ee53c2 e05f3f 3ff8d7 77ffdc .~.w}.w~..S.._??..w.. 000002a: 8e7f80 27de3b 4741f7 79efd8 8fefdc 367ee7 70afd4 ...'.;GA.y.....6~.p.. 000003f: 38cd7c 8.| set numin set numout get jmp ; n += (n==2) sub 1 fwd 1 add 1 fwd 1 add 1 rwd 2 jnz add 2 fwd 1 jmp sub 1 rwd 1 sub 1 fwd 1 jnz add 1 rwd 1 jmp fwd 1 sub 1 rwd 1 get jnz fwd 1 jmp sub 1 fwd 1 add 1 rwd 1 jnz fwd 1 jmp ; list from n to 1 jmp sub 1 fwd 3 add 1 rwd 3 jnz fwd 3 jmp sub 1 fwd 3 add 1 rwd 6 add 1 fwd 3 jnz fwd 3 sub 1 jnz rwd 6 ; List [n, n-1, ..., 2, 2]. We don't want n%1. add 1 rwd 6 jmp rwd 6 jnz fwd 6 jmp ; move n one cell to the left sub 1 rwd 1 add 1 fwd 1 jnz add 2 ; copy the n's jmp rwd 1 jmp sub 1 fwd 3 add 1 rwd 3 jnz fwd 3 jmp sub 1 fwd 3 add 1 rwd 6 add 1 fwd 3 jnz fwd 4 jnz rwd 7 jmp ; compute each divmod, only the n%d results will be used jmp sub 1 fwd 1 sub 1 jmp fwd 1 add 1 fwd 2 jnz fwd 1 jmp add 1 jmp sub 1 rwd 1 add 1 fwd 1 jnz fwd 1 add 1 fwd 2 jnz rwd 5 jnz rwd 6 jnz fwd 8 jmp ; go to first modulus of zero, or past end of list fwd 6 jnz fwd 1 ; negate cell to the right jmp rwd 1 add 1 fwd 1 jmp sub 1 jnz jnz add 1 rwd 1 jmp fwd 1 sub 1 rwd 1 sub 1 jnz fwd 1 ; output put <<<<<<+ <<<<<<[<<<<<<]>>>>>> 0 {0 >n 0 0 0 0, 0 n-1 0 0 0 0, ..., 0 2 0 0 0 0} #Sesos, 67 66 65 bytes
Edit: Saved a byte because I don't need this rwd 6 after I changed from sub 1 to add 1 before it.
0000000: 16f8be 76ca83 e653e3 b472f0 750ef0 af9f1f fcebbb ...v...S..r.u........ 0000015: 7f7ec6 77e13b bf41f7 2961f0 af9f1f fcebbb 7f6ec7 .~.w.;.A.)a........n. 000002a: 3fc013 ef9da3 a0fbbc 77ecc7 776e1b bf73b8 576a9c ?........w..wn..s.Wj. 000003f: 663e f> set numin set numout get jmp ; n += (n==2) sub 1 fwd 1 add 1 fwd 1 add 1 rwd 2 jnz add 2 fwd 1 jmp sub 1 rwd 1 sub 1 fwd 1 jnz add 1 rwd 1 jmp fwd 1 sub 1 rwd 1 get jnz fwd 1 jmp sub 1 fwd 1 add 1 rwd 1 jnz fwd 1 jmp ; list from n to 1 jmp sub 1 fwd 3 add 1 rwd 3 jnz fwd 3 jmp sub 1 fwd 3 add 1 rwd 6 add 1 fwd 3 jnz fwd 3 sub 1 jnz rwd 6 ; List [n, n-1, ..., 2, 2]. We don't want n%1. add 1 jmp rwd 6 jnz fwd 6 jmp ; move n one cell to the left sub 1 rwd 1 add 1 fwd 1 jnz add 2 ; copy the n's jmp rwd 1 jmp sub 1 fwd 3 add 1 rwd 3 jnz fwd 3 jmp sub 1 fwd 3 add 1 rwd 6 add 1 fwd 3 jnz fwd 4 jnz rwd 7 jmp ; compute each divmod, only the n%d results will be used jmp sub 1 fwd 1 sub 1 jmp fwd 1 add 1 fwd 2 jnz fwd 1 jmp add 1 jmp sub 1 rwd 1 add 1 fwd 1 jnz fwd 1 add 1 fwd 2 jnz rwd 5 jnz rwd 6 jnz fwd 8 jmp ; go to first modulus of zero, or past end of list fwd 6 jnz fwd 1 ; negate cell to the right jmp rwd 1 add 1 fwd 1 jmp sub 1 jnz jnz add 1 rwd 1 jmp fwd 1 sub 1 rwd 1 sub 1 jnz fwd 1 ; output put <<<<<<+ [<<<<<<]>>>>>> 0 {0 >n 0 0 0 0, 0 n-1 0 0 0 0, ..., 0 2 0 0 0 0} It should be noted that before I fixed this, my code was only 10854 bytes. Because of how I determine if a number is prime later, I had to add one to n if n==2, so I do that first. I use a , here (get) to zero a cell instead of looping with [-].
It should be noted that before I fixed this, my code was only 108 bytes. Because of how I determine if a number is prime later, I had to add one to n if n==2, so I do that first. I use a , here (get) to zero a cell instead of looping with [-].
It should be noted that before I fixed this, my code was only 54 bytes. Because of how I determine if a number is prime later, I had to add one to n if n==2, so I do that first. I use a , here (get) to zero a cell instead of looping with [-].