You can help CodeWalrus stay online by donating here. | New CodeWalrus | Old (dark mode) | Old (light) | Discord server

OEIS golfing!

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

0
b/Tech, Science & IT publicado por u/_iPhoenix_ June 16, 2018, 07:00:48 PM
Inspired by this, and highly inspired by the Programming Puzzles and Code Golf (PPCG) stack exchange. If there are any doubts with the rules, default to their rules.


You must take a sequence in the OEIS (it must be known that it has infinite terms), and write a program taking a input, n, (somehow. If your language doesn't support taking input, editing the source code to insert a decimal number is allowed) and outputting, in base 10 plain text the first n terms of that sequence. You must start at the first term in the sequence. This can be via a file, a function return, etc


No hard-coding solutions, you should use an algorithm.
No reading from external sources.
No asking for the sequence from the user.
The program should be your own work. No stealing programs from other users.
(Use good judgement)
Programming languages are defined by their implementation, so the programming language must have a working compiler/interpreter by the time of this post.
Feel free to help others with their code golf. Be sure to explain what you changed and why it works!

If you are showing off your code golf, format your post like this:
Spoiler

language name, sequence number, bytes
code
(how to use, if applicable)


optional explanation


I'll go first.


JavaScript, A025480, 70 bytes
f=r=>{for(s=[],i=0;i<r;i++)s[2*i]=i,s[2*i+1]=s[i];return s.length=r,s}
Defines a function, f, that returns an array of integers. Call it from the console with f(n), with n being your input.


inb4
JavaScript, A000012, 21 bytes
f=r=>Array(r).fill(1)
Defines a function, f, that returns an array of integers. Call it from the console with f(n), with n being your input.
Last Edit: June 17, 2018, 01:17:19 AM by _iPhoenix_
Inicia sesión o crea una cuenta para dejar un comentario
u/Yuki June 16, 2018, 08:18:55 PM
Sounds fun. Let's golf every sequence!

JavaScript, A005132, 80 bytes
f=x=>{for(q=[0],s=i=0;i<x;)q[++i]=s+=i*(s-i<=0||!!~q.indexOf(s-i))*2-i;return q}
Defines a function, f, that returns an array of integers. Call it from the console with f(n), with n being your input.

SVG, A005132, 271 267 bytes
<svg xmlns="http://www.w3.org/2000/svg"><path id="p" stroke="#000" fill="none"/><script>/*<![CDATA[*/q=[];a="M2,325";for(s=i=0;i<65;)c=s-++i<=0||!!~q.indexOf(s-i),q[i]=s+=j=i*c*2-i,a+=`a1,1 0 0,${i%2^c} ${j}0,0`;document.all[1].setAttribute("d",a)//]]></script></svg>
Interesting graphic of the above sequence (first 65 steps)

JavaScript (ES6), A001477, 25 bytes
f=x=>[...Array(x).keys()]
Defines a function, f, that returns an array of integers. Call it from the console with f(n), with n being your input.
Last Edit: June 16, 2018, 10:03:52 PM by Juju
u/_iPhoenix_ June 16, 2018, 09:18:12 PM
JavaScript, A174375, 59 bytes
f=n=>{for(i=0,q=[];i<n;i++) q.push((j=i*i)-(j^i));return q}
Defines a function, f, that returns an array of integers. Call it from the console with f(n), with n being your input.

This one is pretty cool, despite its apparent simplicity. If you graph f(n) against n, it approximates a Sierpinski gasket when the maximum n is a power of two.
u/Yuki June 16, 2018, 11:01:52 PM
JavaScript, A000007, 30 bytes
f=x=>[1,...Array(x-1).fill(0)]
Defines a function, f, that returns an array of integers. Call it from the console with f(n), with n being your input.

JavaScript, A076337, 8 bytes
[509203]
Returns the entire sequence with terms proven so far. (This one's kinda stupid, but yeah. It only have one term so far.)

JavaScript, A000079, 37 bytes
f=x=>Array.from(Array(x),(a,i)=>2**i)
Defines a function, f, that returns an array of integers. Call it from the console with f(n), with n being your input.
Last Edit: June 16, 2018, 11:07:35 PM by Juju
u/_iPhoenix_ June 17, 2018, 01:11:38 AM
Python 3, A005131, 53 bytes
f=lambda n:[2*~-i//3if 1==i%3else 1for i in range(n)]
Defines a function, f, that returns an array of integers. Call with f(n), with n being your input.

(We don't need to stick to JS :) )
u/Yuki July 09, 2018, 09:00:32 PM
Bash/Ruby, xkcd2016, 160 bytes
curl http://oeis.org/stripped.gz|gzcat|sed 1,4d|ruby -F, -e'a=(0..29999).to_a;while gets;a-=(s=$_.split).slice(1,s.length-2).map{|x|x.to_i};end;p a.slice(0,20)'
Returns the first 20 integers which do not appear in the example terms of another OEIS sequence. (Warning: it downloads the entire OEIS database which is a 22MB gzipped file, might want to download it first and cat it instead if you're going to run it more than once.)

At the time of writing this post, the first 50 uninteresting numbers are:

[17843, 20067, 20227, 20990, 22589, 22595, 22978, 23174, 23543, 23615, 23735, 23876, 23986, 24085, 24140, 24159, 24555, 24628, 25061, 25266, 25330, 25611, 25743, 25965, 26301, 26517, 26534, 26673, 26708, 26755, 27266, 27292, 27357, 27619, 27663, 27765, 27815, 27988, 28166, 28255, 28311, 28330, 28353, 28427, 28454, 28466, 28473, 28515, 28599, 28835]

(It doesn't qualify either because it's not really an OEIS sequence, require pulling up the entire OEIS database to calculate the sequence and might change at any time when someone submits a new sequence to the OEIS, but I still find it very interesting.)
Last Edit: July 09, 2018, 09:27:23 PM by Juju
Start a Discussion

b/Tech, Science & IT

Discussion and news about technology and science in general. To showcase your projects and for programming support, check the platform-specific development sections.

75
Topics
Explore Board
Website statistics


MyCalcs | Ticalc.org | Cemetech | Omnimaga | TI-Basic Developer | MaxCoderz | TI-Story | Casiocalc.org | Casiopeia | The Museum of HP Calculators | HPCalc.org | CnCalc.org | Music 2000 Community | TI Education | Casio Education | HP Calcs | NumWorks | SwissMicros | Sharp Calculators
Powered by EzPortal