85
\$\begingroup\$

I'm honestly surprised that this hasn't been done already. If you can find an existing thread, by all means mark this as a duplicate or let me know.

Input

Your input is in the form of any positive integer greater than or equal to 1.

Output

You must output the sum of all integers between and including 1 and the number input.

Example

 In: 5
     1+2+3+4+5 = 15
Out: 15

OEIS A000217 — Triangular numbers: a(n) = binomial(n+1,2) = n(n+1)/2 = 0 + 1 + 2 + ... + n.

Leaderboard

Run the code snippet below to view a leaderboard for this question's answers. (Thanks to programmer5000 and steenbergh for suggesting this, and Martin Ender for creating it.)

var QUESTION_ID=133109,OVERRIDE_USER=69148;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px} /* font fix */ body {font-family: Arial,"Helvetica Neue",Helvetica,sans-serif;} /* #language-list x-pos fix */ #answer-list {margin-right: 200px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>

\$\endgroup\$
10
  • 5
    \$\begingroup\$ Closely related \$\endgroup\$ Jul 18, 2017 at 20:36
  • \$\begingroup\$ @FryAmTheEggman Sorry - had a bit of a brain fart there. I see what you mean. \$\endgroup\$
    – Gareth
    Jul 18, 2017 at 20:45
  • 2
    \$\begingroup\$ @Aaron you got ninja'd by Husk, which was just posted with a 1 byte solution \$\endgroup\$
    – Mayube
    Jul 18, 2017 at 21:35
  • 7
    \$\begingroup\$ I suggest a stack snippet. \$\endgroup\$
    – user58826
    Jul 19, 2017 at 11:42
  • 1
    \$\begingroup\$ Related: minecraftforum.net/forums/off-topic/… \$\endgroup\$ Jul 27, 2017 at 12:20

222 Answers 222

1
4 5 6 7
8
0
\$\begingroup\$

MMIX, 28 bytes (7 instructions)

(a function)

23FF0001 1A0000FF 3F000001 FEFF0003
3BFFFF3F C00000FF F8010000

Dissassembly:

    ADDU $255,$0,1      // tmp = n + 1
    MULU $0,$0,$255     // rH:n = n * tmp
    SRU  $0,$0,1        // n >>>= 1
    GET  $255,rH        // tmp = rH
    SLU  $255,$255,63   // tmp <<= 63
    OR   $0,$0,$255     // n |= tmp
    POP  1,0            // return(n)

I used the obvious straight-line version. This computes the result mod \$2^{64}\$.

\$\endgroup\$
0
\$\begingroup\$

JavaScript (Node.js), 12 bytes

n=>(n*n+n)/2

Try it online!

\$\endgroup\$
3
  • 2
    \$\begingroup\$ -2 bytes: n=>n*--n/2 \$\endgroup\$
    – Endenite
    Jul 19, 2017 at 17:28
  • \$\begingroup\$ Could you elaborate? :-) \$\endgroup\$ Jul 19, 2017 at 18:19
  • 2
    \$\begingroup\$ n=>n*++n/2 is the same thing as n=>n*(n+1)/2, while also changing the value of n. Since we don't need n anymore, this doesn't matter. (n=>n*--n/2 is incorrect due to a typo) \$\endgroup\$
    – Endenite
    Jul 20, 2017 at 7:40
0
\$\begingroup\$

Ruby, 24 bytes

n=gets.to_i;p n*(n+1)//2

Direct

Attempt This Online!

Ruby, 24 bytes

n=gets.to_i;p (1..n).sum

The same as previous, but using sum.

Attempt This Online!

\$\endgroup\$
0
\$\begingroup\$

Fig, \$2\log_{256}(96)\approx\$ 1.646 bytes

Sa

See the README to see how to run this

Sa # Takes a number as input
S  # Sum
 a # Of the range [1, n]
\$\endgroup\$
0
\$\begingroup\$

Chocolate, 1 byte

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Knight, 11 bytes

O/*+1=xPx 2

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Arturo, 12 bytes

$=>[∑1..&]

Try it

\$\endgroup\$
0
\$\begingroup\$

ARBLE, 15 bytes

sum(range(1,n))

Uninteresting answer.

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Binary-encoded Golfical, 17 bytes

Hexdump of binary encoding:

00 90 01 15 0c 01 04 01 3c 0e 01 00
02 0a 01 3d 17

The encoded version can be converted to a runnable program image using the encoder utility included in the language's github repository, or run directly by using the -x flag

Original program image:

enter image description here

Magnified 45x with RGB colors labeled:

enter image description here

\$\endgroup\$
0
\$\begingroup\$

Alice, 11 bytes

/O
\I@/rd&+

Try it online!

/I\rd&+/O@   Full program flatened
/I\          Reads the input and push it on the stack
   r         Pops, Create a range from 0 to the input on the stack
    d        Pushes on the depth of the stack on the stack
             Flow control instructions
     &+      Pops sum all the numbers in the stack
       /O@   Prints and exit
\$\endgroup\$
0
\$\begingroup\$

Desmoslang Assembly, 11 Bytes

IS*.5(D+1OT

\$\endgroup\$
0
\$\begingroup\$

ARM Thumb machine code, 8 bytes

0:  1c41  adds  r1, r0, #1  @  n + 1
2:  4348  muls  r0, r1      @  * n
4:  0840  lsrs  r0, r0, #1  @  / 2
6:  4770  bx    lr
\$\endgroup\$
1
4 5 6 7
8

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.