「1から100の偶数の和を求めるワンライナー」まとめ

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
2019年8月11日頃にTwitterで「1から100の偶数の和を求める方法」（ワンライナー）が話題になったので
各言語ごとにまとめてみました。

私の独断と偏見ですが
「2550を直接出力するもの」「公式を使って総和を計算するもの」は
除外しています。
あくまでそれぞれのプログラミング言語の特色が現れるものをまとめたいと考えています。

以前あったズンドコきよしのまとめみたいなノリです。
https://qiita.com/shunsugai@github/items/971a15461de29563bf90

編集リクエスト歓迎です。
<font color="crimson"><u>**新しいワンライナーはコメント欄ではなく編集リクエストにて追加していただけると助かります！**</u></font>

\---
8/15 11:30
コメント欄を取り込み＆新たにツイートを拾いました。
\---

#発端のツイート
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">まにゃです。<br><br>いきなり問題！<br><br>ここまでのツイートを手がかりに<br><br>Pythonのfor文を使って1から100までの間の偶数の和を計算するソースコードを書いてみて下さい。</p>&mdash; まにゃpy@Python解説の猫 (@uuyr112) <a href="https://twitter.com/uuyr112/status/1160355013098500097?ref_src=twsrc%5Etfw">August 11, 2019</a></blockquote>

#Python
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もPythonならたったの1行で書ける<br><br>result =sum(list([i for i in range(1,101) if i %2 == 0]))<br><br>（sumは組み込み関数なのでimportなしで使えます。）<br><br>とてもシンプルですね。Pythonなら複雑なコードもシンプルに。<br><br>そう、Pythonならね</p>&mdash; まにゃpy@Python解説の猫 (@uuyr112) <a href="https://twitter.com/uuyr112/status/1160375090090876930?ref_src=twsrc%5Etfw">August 11, 2019</a></blockquote>

上の改良版

```python
result = sum(i for i in range(1, 101) if i % 2 == 0)
```

<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">pythonで「1から100までの間の偶数の和を計算するソースコードを」<br>import numpy as np<br>print(sum(np.arange(2, 101, 2)))<br>これだと...あんまりコードの練習にならない...けど。<br>思いつき.</p>&mdash; ryotenabe (@ryotenabe) <a href="https://twitter.com/ryotenabe/status/1161092460329590784?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">result = sum(range(0, 101, 2))<br>これで同じ解が得られて、しかもシンプルです。<br><br>rangeで生成できるものものはlistで生成したものと同じようにふるまいますが、listより一般的にメモリ効率が良いと言われています。<br>それはなぜかの解説をお願いします。</p>&mdash; 村内隆清 (@killykillymine) <a href="https://twitter.com/killykillymine/status/1160857863222202370?ref_src=twsrc%5Etfw">August 12, 2019</a></blockquote>

#Haskell
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">コンテクストわかんないけどHaskellなら<br><br>main = print $ sum [2,4..100]<br><br>（sumは組み込み関数なのでimportなしで使えます。）<br><br>とてもシンプルですね。Haskellなら複雑なコードもシンプルに。<br><br>そう、Haskellならね。</p>&mdash; Hideyuki Tanaka (@tanakh) <a href="https://twitter.com/tanakh/status/1161257275392061440?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">Haskellなら、[2,4..100] みたいなリッチなのがなくても、<br><br>main = sum $ filter even [1..100]<br><br>死ぬほどシンプルだし、evenがなかったとしても、<br><br>main = sum $ filter (\x -&gt; x `mod` 2 == 0) [1..100]<br><br>sumがなかったとしても<br><br>main = foldl (+) 0 $ filter (\x -&gt; x `mod` 2 == 0) [1..100]</p>&mdash; Hideyuki Tanaka (@tanakh) <a href="https://twitter.com/tanakh/status/1161263011589283840?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>

#C
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もCならたったの1行で書ける<br><br>s;i;main(){for(;i&lt;100;s+=i+=2);printf(&quot;%d&quot;,s);}<br><br>（printfは何故かincludeなしで使えます。）<br><br>とてもシンプルですね。Cなら複雑なコードもシンプルに。<br><br>そう、Cならね</p>&mdash; TokusiN (@toku51n) <a href="https://twitter.com/toku51n/status/1161240999244398592?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">100までの偶数の和の話をTLで見たのでCで。<br><br>int i,j=0;for(i=0;i&lt;=100;i+=2)j+=i;<br><br>比較的お行儀良く書いてもこれで済む。</p>&mdash; TEFSOM (@Si_SJ_MOSFET) <a href="https://twitter.com/Si_SJ_MOSFET/status/1161395332938227712?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>

#LISP
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100の偶数和<br>(loop for a from 2 to 100 by 2 sum a)</p>&mdash; 電池🍨🍬 (@QZTWE) <a href="https://twitter.com/QZTWE/status/1161259824320929792?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和、Common Lispだとこんな感じかな。<br>(loop for i from 1 to 100 when (evenp i) sum i)</p>&mdash; こうじ (@mhkoji) <a href="https://twitter.com/mhkoji/status/1161409961949220864?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もCommon Lispならカッコ以外の記号を使わず書ける<br><br> (loop for i from 1 to 100 if (evenp i) sum i)<br><br>（loopはANSI標準のマクロなのでそのまま使えます）<br><br>慣れないキー配列でもカッコのいちだけ覚えれば安心ですね。</p>&mdash; zick (実家箕面) (@zick_minoh) <a href="https://twitter.com/zick_minoh/status/1161422071676596225?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和をCommon Lispでも，たった一行で書ける<br><br>(loop for i from 1 while (&lt;= i 100) when (oddp i) sum i)<br><br>loopマクロは強力なのですがLisp初心者にはお勧めしません．．． <a href="https://t.co/uvNZv5xLV7">https://t.co/uvNZv5xLV7</a> <a href="https://t.co/awBTIF86PL">pic.twitter.com/awBTIF86PL</a></p>&mdash; Shigeru FUJITA (@shigerufujita) <a href="https://twitter.com/shigerufujita/status/1161443047768350721?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>

#PHP
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">PHP はさりげなく関数が用意されてたりしますね。たまたまっぽい気もするけど。<br>echo array_sum(range(2,100,2)); # 1〜100の偶数の和</p>&mdash; ＼助けよや／ (@yoya) <a href="https://twitter.com/yoya/status/1161260427562516480?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もPHPならたったの1行で書ける<br><br>array_sum(range(2, 100, 2))<br><br>とてもシンプルですね。PHPなら複雑なコードもシンプルに。<br><br>そう、PHPならね</p>&mdash; ウラル (@barley_ural) <a href="https://twitter.com/barley_ural/status/1161489396513816578?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>

#C\# 
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1~100までの偶数の和<br><br>var sum = Enumerable.Range(1,100).Where(x=&gt;x%2==0).Sum();<br><br>ソラで書いたらスペルあってるか不安。Rangeの引数あってるか不安、Sumにselecterのオーバーライドあったか覚えてなくて不安。</p>&mdash; へまたいと (@Hematite777) <a href="https://twitter.com/Hematite777/status/1161261666530557952?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もC#ならたったの1行で書ける<br>var a = Enumerable.Range(1, 100).Where(n =&gt; n % 2 == 0).Sum();<br><br>まぁ今の言語ならだいたい1行で書けるんじゃないの。。。<a href="https://t.co/EPQ4wFmcCu">https://t.co/EPQ4wFmcCu</a></p>&mdash; Tadahiro Ishisaka (@ishisaka) <a href="https://twitter.com/ishisaka/status/1161478932518068227?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">最近話題の1から100の偶数の和を計算するワンライナー、C#だとこんな感じかな。<br>やはりLINQは便利。<br><br>Enumerable.Range(1, 100).Where(x =&gt; x % 2 == 0).Sum()</p>&mdash; 🐄 👪ぬーぼー✈️🌧️ (@noobow) <a href="https://twitter.com/noobow/status/1161520170805977088?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>
\---
コメント欄より
C#のLINQでWhere使わないバージョンです。

```cs
var sum = Enumerable.Range(1, 100).Sum(x => x % 2 == 0 ? x : 0);
```

#F\# 
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もF#ならたったの1行で書ける<br><br>let result = List.sum [0..2..100]<br><br>とてもシンプルですね。F#なら複雑なコードもシンプルに。<br><br>そう、F#ならね<br><br>こうですか？（0からなのでちょっとズルですけどw）</p>&mdash; りず (r.izumita) (@rizumita) <a href="https://twitter.com/rizumita/status/1161264154763599872?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>

#Clojure
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もClojureならたったの1行で書ける<br><br>(reduce + (filter even? (range 101)))<br><br>（reduceは組み込み関数なのでimportなしで使えます。）<br><br>とてもシンプルですね。Clojureなら複雑なコードもシンプルに。<br><br>そう、Clojureならね</p>&mdash; enk (@enk_enk) <a href="https://twitter.com/enk_enk/status/1161265410076893185?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-cards="hidden" data-partner="tweetdeck"><p lang="en" dir="ltr">(apply + (range 0 101 2))</p>&mdash; あやぴー (@_ayato_p) <a href="https://twitter.com/_ayato_p/status/1161270468130701312?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>

#Ruby
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">こういうのはRubyがわりと強くて日本語の語順通りに「1から100までの　偶数の　和」の定義通りに書ける。<br>puts (1..100).select(&amp;:even?).inject(&amp;:+)</p>&mdash; reismann (@reismannnr2) <a href="https://twitter.com/reismannnr2/status/1161266576496087040?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もRubyならたったの1行で書ける<br><br>result = (1..100).select(&amp;:even?).sum<br><br>（sumは組み込み関数なのでimportなしで使えます。）<br><br>とてもシンプルですね。Rubyなら複雑なコードもシンプルに。<br><br>そう、Rubyならね</p>&mdash; hogeover30 (@hogeover30) <a href="https://twitter.com/hogeover30/status/1161336920615424001?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">Ruby で 1 から 100 までの偶数の和を求める<br><br>even? でふるいにかける方法<br>(1..100).select(&amp;:even?).sum<br><br>Enumerator::ArithmeticSequence オブジェクトを使う方法<br>(2..100).step(2).sum<br><br>数学的に解決する方法<br>2 * (1..100/2).sum</p>&mdash; ICM7216 (@icm7216) <a href="https://twitter.com/icm7216/status/1161375213423955968?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和が1行で書けるよ。Ruby編。<br><br>(1..100).select(&amp;:even?).reduce(&amp;:+)</p>&mdash; 宮崎ひび（がんばらない） (@hibi_myzk) <a href="https://twitter.com/hibi_myzk/status/1161434773694251010?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和を (1..100).select(&amp;:even?).sum って書けるのが Ruby のいいところだと思っている</p>&mdash; kdc518 (@kdc518) <a href="https://twitter.com/kdc518/status/1161485954093322240?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>

#Scala
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もScalaならたったの1行で書ける<br><br>val result = (for(i &lt;- 1 to 100; if i % 2 == 0) yield i).sum<br><br>（sumは組み込みメソッドなのでimportなしで使えます。）<br><br>とてもシンプルですね。Scalaなら複雑なコードもシンプルに。<br><br>そう、Scalaならね</p>&mdash; smzst (@_smzst) <a href="https://twitter.com/_smzst/status/1161268394378743808?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">どうでもいいけど、1から100までの偶数の和、scalaだと (2 to 100 by 2).sum でいける</p>&mdash; かすてらふぃ (@cstl_fy) <a href="https://twitter.com/cstl_fy/status/1161286960272556034?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>

#PureScript
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和、試しにPureScriptで書いてみたが・・・importがアレだ<br><br>import Prelude<br>import Data.Array<br>import Data.Foldable<br>import Effect.Console<br>main = logShow $ sum $ filter (_ `mod` 2 == 0) $ 1 .. 100</p>&mdash; 《ネルヤ》というニャオスの指輪 (@goldarn_ring) <a href="https://twitter.com/goldarn_ring/status/1161268801310040064?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>

#Swift
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もSwiftならたったの1行で書ける<br><br>print([Int](1...100).filter({(foo: Int) -&gt; Bool in foo % 2 == 0}).reduce(0) {(a: Int, b: Int) -&gt; Int in return a + b})<br><br>とてもシンプルですね。Swiftは頑張るしかない<br>そう、Swiftならね。</p>&mdash; むちむちイカクラーゲス (@ffguymac) <a href="https://twitter.com/ffguymac/status/1161271300100280323?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和のSwift版。<br><br>(1...100).filter { $0 % 2 == 0 }.reduce(0, +)<br><br>strideだとこうなるけど from: 2 のところが気になる。偶数の始まりを定数で指定してるのは違うかなー。<br><br>stride(from: 2, through: 100, by: 2).reduce(0, +)</p>&mdash; Tomoki Kobayashi (@temoki) <a href="https://twitter.com/temoki/status/1161416673515077632?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もSwiftならたったの1行で書ける<br><br>let result = Set((1...100).map { $0 ^ $0 &amp; 1 }).reduce(0, +)<br><br>とてもややこしいですね。Swiftなら複雑なコードも複雑に。<br><br>そう、Swiftならね</p>&mdash; りず (r.izumita) (@rizumita) <a href="https://twitter.com/rizumita/status/1161482071552004096?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>
<blockquote class="twitter-tweet">
<p lang="ja" dir="ltr">var a=0;for i in 1..<101{if i.isMultiple(of:2){print(i);a+=i}};print(a)<br><br></p>&mdash; Junji Suzuki (@jboysoft)
<a href="https://twitter.com/jboysoft/status/1162732118029373440?">
</a></blockquote>

#Julia
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">なんだかわからないけど、100までの偶数の和を出力するのが流行ってるんですか？Juliaだと<br><br>println(sum(2:2:100))<br><br>ですかね。</p>&mdash; Hidemoto Nakada (@hidemotoNakada) <a href="https://twitter.com/hidemotoNakada/status/1161281142886141956?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>

#Perl
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もPerlならたったの1行で書ける<br><br>perl -e ‘for(1..100){$s+=$_++%2*$_};print”$s\n”’<br><br>とてもシンプルですね。Perlなら複雑なコードもシンプルに。<br><br>そう、Perlならね</p>&mdash; shckor (@shckor) <a href="https://twitter.com/shckor/status/1161284799111290880?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もPerlならたったの1行でコマンドラインから書ける<br><br>$ perl -E &#39;$n+=$_ for grep {!($_%2)} 1..100;print$n&#39;<br><br>（ほとんどのサーバーにPerlは入っています）<br><br>とてもシンプルですね。Perlなら複雑な処理もシンプルに。<br><br>そう、Perlならね</p>&mdash; y.say (@wake_up_kemeko) <a href="https://twitter.com/wake_up_kemeko/status/1161448225464705025?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>

#bash
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もbashならたったの1行で書ける<br><br>seq 100 | grep &#39;[24680]$&#39; | tr &#39;\n&#39; &#39;+&#39; | sed &#39;s/\+$/\n/&#39; | bc<br><br>とてもシンプルですね。シェル芸なら複雑なコードもシンプルに。<br><br>そう、シェル芸ならね</p>&mdash; T.MOTOOKA (@t_motooka) <a href="https://twitter.com/t_motooka/status/1161328323932278784?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もBashならたったの1行で書ける<br><br>seq 0 2 100|paste -sd+|bc<br><br>（seq, paste, bcはCore utilsなのでapt installなしで使えます。）<br><br>とてもシンプルですね。Bashなら複雑なコードもシンプルに。<br><br>そう、Bashならね</p>&mdash; シェル児 (@egpl0_sh) <a href="https://twitter.com/egpl0_sh/status/1161398261627777025?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote><p lang="ja" dir="ltr">1から100までの偶数の和もBashならたったの1行で書ける<br><br>echo {2..100..2}+ 0 | bc<br><br>とてもシンプルですね。Bashなら複雑なコードもシンプルに。<br><br>そう、Bashならね</blockquote>
\---
コメント欄より
seq コマンドには -s オプションがありますので、

```shell
$ seq -s+ 2 2 100 | bc
```
と書けます。また、bc コマンドの代わりに bash の arithmetic expansion を使って、

```shell
$ echo $(($(seq -s+ 2 2 100)))
```
とする事もできます。

#Java
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">偶数の和を一行で。Javaだってできるもん！ と言いたいが標準のStreamがイマイチなのでJOOL(<a href="https://t.co/O6BYvxCgtq">https://t.co/O6BYvxCgtq</a>)頼み。<br><br>public class Hoge{public static void main(final String[] args){System.out.println(org.jooq.lambda.Seq.rangeClosed(2, 100, 2).sum().get());}}</p>&mdash; yoh2 (@yoh2_sdj) <a href="https://twitter.com/yoh2_sdj/status/1161331744236175360?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>

## 標準のみで算出

```
jshell> IntStream.rangeClosed(1,100).filter(i->i%2==0).sum();
$5 ==> 2550
```


ライブラリを使わずに書いてみました。
(jshell(Java9以降)で実行するということで…)
```java
int result = java.util.stream.IntStream.rangeClosed(1, 100).filter(i -> i % 2 == 0).sum();
```


#Smalltalk
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もPharo/Squeak Smalltalkならたった３つのメッセージを送るだけ<br><br>((1 to: 100) select: <a href="https://twitter.com/hashtag/even?src=hash&amp;ref_src=twsrc%5Etfw">#even</a>) sum<br><br>（sumは組み込みメソッドなのでそのまま使えます）<br><br>とてもシンプルですね。Pharo/Squeakなら複雑なコードもシンプルに書けて、IDEのサポートも手厚い<br><br>そう、Smalltalkならね <a href="https://t.co/LsYeVqfm4T">https://t.co/LsYeVqfm4T</a></p>&mdash; sumim (@sumim) <a href="https://twitter.com/sumim/status/1161403872968990721?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">Pharo/SqueakでSmalltalkによる100までの偶数の和、美しいコードだ…<br>((1 to: 100) select: <a href="https://twitter.com/hashtag/even?src=hash&amp;ref_src=twsrc%5Etfw">#even</a>) sum<a href="https://t.co/kMjDM6oVzO">https://t.co/kMjDM6oVzO</a></p>&mdash; キタミアキヤ@涼天環 (@K_akiya) <a href="https://twitter.com/K_akiya/status/1161405557871222784?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>

#Elixir
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">Elixir で1から100までの偶数の和はこうなります。<br>1..100 |&gt; Enum.filter(&amp; rem(&amp;1, 2) == 0) |&gt; Enum.sum</p>&mdash; Susumu Yamazaki (@zacky1972) <a href="https://twitter.com/zacky1972/status/1161409253057236992?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>

#Excel
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和をエクセルで計算<br><br>=SUMPRODUCT(ROW(A1:A100)*ISEVEN(ROW(A1:A100)))</p>&mdash; はけた＠ピボットテーブル×データ整形本 8月23日発売 (@excelspeedup) <a href="https://twitter.com/excelspeedup/status/1161461762803154944?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>
\---
コメント欄より
Excel/Power BIにおけるPower Queryでも何通りかできますね。(^^;

```
List.Sum(List.Generate(()=>2,each _<=100,each _+2))
```
あとは、

```
List.Sum(List.Numbers(2,100/2,2))
```
とかですね。
\---
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">「1から100の偶数の和を求めるワンライナー」<br>遅ればせながら関数で。<br>=SUMPRODUCT((MOD(ROW(1:100),2)=0)*ROW(1:100))</p>&mdash; Kou Excelが大好きだ！ (@LoverExcel) <a href="https://twitter.com/LoverExcel/status/1161622690102272000?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>

\---

行列積を使ったバージョン

```
=MMULT(MOD(COLUMN(B1:CW1),2),ROW(A1:A100))
```

#JavaScript
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もJavaScriptならたったの1行で書ける<br><br>Array.from({ length: 100 }, (_, i) =&gt; i + 1).reduce((s, v) =&gt; v % 2 ? s : s + v, 0)<br><br>（Arrayは組み込みオブジェクトなのでimportなしで使えます。）<br><br>とても（以下略）</p>&mdash; 高梨ギンペイ (@ginpei_jp) <a href="https://twitter.com/ginpei_jp/status/1161462613097603072?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>
\---
コメント欄より
JavaScriptは
`[...Array(100).keys()].reduce((s,v) => ++v % 2 ? s:s + v,0)`
のほうがちょっと短い?
\---

再帰関数を使ったバージョン

```javascript
(f=(x,y)=>(y<=100?f(x+(y%2?0:y),++y):x))(0,0);
```

#Dart
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もDartならたったの1行で書ける<br><br>main()=&gt;print((List.generate(101,(i)=&gt;i)).reduce((x,y)=&gt;y%2==0?x+y:x));<br><br>（reduceは組み込み関数なのでimportなしで使えます。）<br><br>とてもシンプルですね。Dartなら複雑なコードもシンプルに。<br><br>そう、Dartならね</p>&mdash; 岡竜之介tech@最近はFlutter (@agajo_tech) <a href="https://twitter.com/agajo_tech/status/1161529451450130432?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>

#Rust
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">Rustなら<br><br>fn main() { println!(&quot;{}&quot;, (0..=100).filter(|i| i % 2 == 0).sum::&lt;i32&gt;()); }<br><br>ｸｯｿわかりづらい文法でノイズにあふれててそれほどシンプルでもないけど1行に書けるしよく見たらPythonと大して変わんないしPythonでいいならRustでいいじゃん（適当）</p>&mdash; Hideyuki Tanaka (@tanakh) <a href="https://twitter.com/tanakh/status/1161258433783332864?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote>

#R
コメント欄より
\-----
Rなら。
`sum(seq(2,100,2))`
\----
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">Rだとこう書けます。<br>library(purrr)<br>seq(1,100) %&gt;% purrr::reduce(.f=function(s,x) if (x %% 2 == 0) (s+x) else s, .init=0)<br>NumPyのfrompyfunc, reduceでもそうですが、初期値0を明示するのは必須です。<br>「1から100の偶数の和を求めるワンライナー」まとめ <a href="https://t.co/WMOqGkcnY0">https://t.co/WMOqGkcnY0</a> <a href="https://twitter.com/hashtag/Qiita?src=hash&amp;ref_src=twsrc%5Etfw">#Qiita</a></p>&mdash; プログラマたんbot (@cppfriendsbot) <a href="https://twitter.com/cppfriendsbot/status/1161773014695866370?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>

#elm
コメント欄より

```elm
List.range 1 100 |> List.filter (\x -> modBy 2 x == 0) |> List.sum
```

#VBA
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100までの偶数の和もExcelVBAならたったの1行で書ける<br><br>Debug.Print Evaluate(Join(Filter([TRANSPOSE(ROW(1:100))/2], &quot;.&quot;, False), &quot;+&quot;)) * 2<br><br>とてもシンプルですね。ExcelVBAなら複雑なコードもシンプルに。<br><br>そう、ExcelVBAならね</p>&mdash; ことりちゅん@えくせるちゅんちゅん (@KotorinChunChun) <a href="https://twitter.com/KotorinChunChun/status/1161628292211826688?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100の偶数の和を求めるワンライナー「VBA版」<br><br>Dim i, j: For i = 2 To 100 Step 2: j = j + i: Next<br><br>普通すぎてつまらない。 <a href="https://t.co/fxpiL3SOCH">https://t.co/fxpiL3SOCH</a></p>&mdash; はけた＠ピボットテーブル×データ整形本 8月23日発売 (@excelspeedup) <a href="https://twitter.com/excelspeedup/status/1161573959151706112?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100の偶数の和を求めるワンライナー<br>VBAイミディエイトウィンドウ<br>s=0:for i=1 to 100:s=s+iif(i mod 2,0,i):next:?s<br>s=0:for i=1 to 100:s=s-(i mod 2=0)*i:next:?s<a href="https://t.co/s7xkk0M3Nl">https://t.co/s7xkk0M3Nl</a> <a href="https://t.co/jhy0Z06Dyt">pic.twitter.com/jhy0Z06Dyt</a></p>&mdash; わえなび the Theory of Word-Excel (@waenavi_jp) <a href="https://twitter.com/waenavi_jp/status/1161655176089894913?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>

#Kotlin
コメント欄より
1から100までの偶数の和もKotlinならたったの1行で書ける

```Kotlin
val result = (1..100).filter { it % 2 == 0 }.sum()
```

（filterとsumは~~標準ライブラリーの関数なので~~*デフォルトでインポートされるkotlin.collectionsパッケージの関数なので*importなしで使えます。）

とてもシンプルですね。Kotlinなら複雑なコードもシンプルに。

そう、Kotlinならね
\---
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">「1から100の偶数の和を求めるワンライナー」まとめ - Qiita <a href="https://t.co/zkel9IqqNR">https://t.co/zkel9IqqNR</a><br>Kotlinがなかった<br>REPLじゃなけりゃこれが最短なのかな<br>fun main()=println((0..100 step 2).sum())</p>&mdash; Concept of Love (@beatdjam) <a href="https://twitter.com/beatdjam/status/1161789360586420224?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>

#SQL
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">おっと偶数の総和か彡(ﾟ)(ﾟ)<br><br>SQL(ORACLE書式)<br>SELECT SUM(LEVEL) FROM DUAL WHERE MOD(LEVEL, 2) = 0 CONNECT BY LEVEL &lt;= 100;<br><br>SQL(再帰WITH)<br>WITH rec(ol) AS (SELECT 1 FROM DUAL UNION ALL SELECT ol + 1 FROM rec WHERE ol &lt; 100) SELECT SUM(ol) FROM rec WHERE MOD(ol, 2) = 0;</p>&mdash; gonsuke777 (@ora_gonsuke777) <a href="https://twitter.com/ora_gonsuke777/status/1161781628877692928?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>

#PowerShell
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">PowerShellだと<br><br>(1..100 | ?{$_ % 2 -eq 0} | measure -Sum).Sum<br><br>ってとこかな / 「1から100の偶数の和を求めるワンライナー」まとめ - Qiita <a href="https://t.co/kIrSLp6C9k">https://t.co/kIrSLp6C9k</a></p>&mdash; ぢゃくそんは勉強ができない (@_jackson) <a href="https://twitter.com/_jackson/status/1161614272863936512?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">1から100の偶数の和を求めるワンライナーの記事にPowerShellがないぞ！<br>PS&gt; 1..100 | ? {$_ % 2 -eq 0} | measure -Sum | select -exp Sum</p>&mdash; すたんくらうど (@stuncloud) <a href="https://twitter.com/stuncloud/status/1161739116544843776?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">「1から100の偶数の和を求めるワンライナー」まとめ - Qiita <a href="https://t.co/Ao8Zng6af8">https://t.co/Ao8Zng6af8</a> PowerShellでひねらず書くとこうかな `(1..100 | ? {$_ % 2 -eq 0 } | Measure-Object -Sum).Sum;`</p>&mdash; KIMATA RobertHisasi (@robert_KIMATA) <a href="https://twitter.com/robert_KIMATA/status/1161788539878567936?ref_src=twsrc%5Etfw">August 14, 2019</a></blockquote>

#HSP
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/HSP3?src=hash&amp;ref_src=twsrc%5Etfw">#HSP3</a> だってできるもん…<br><br>for c,0,101,2:a+c:next:mes a<br><br>HSPならこれでウィンドウに結果表示までできる！<br><br>「1から100の偶数の和を求めるワンライナー」まとめ <a href="https://t.co/J6WwQU4h5p">https://t.co/J6WwQU4h5p</a> <a href="https://twitter.com/hashtag/Qiita?src=hash&amp;ref_src=twsrc%5Etfw">#Qiita</a></p>&mdash; K-s (@skymonsters_Ks) <a href="https://twitter.com/skymonsters_Ks/status/1161805191227699200?ref_src=twsrc%5Etfw">August 15, 2019</a></blockquote>
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">repeatなら<br><br>repeat 100,1:a+(cnt\2=0)*cnt:loop:mes a<br><br>こんな感じ？<br><br>do:a+c:c+2:until c&gt;100:mes a<br><br>doも短い。もっと短くできるんかな…</p>&mdash; K-s (@skymonsters_Ks) <a href="https://twitter.com/skymonsters_Ks/status/1161805193249349633?ref_src=twsrc%5Etfw">August 15, 2019</a></blockquote>

<blockquote class="twitter-tweet">
<p lang="ja" dir="ltr">b=2+100 : for a,,25 : c+b : mes c : next : title""+c<br>//一番小さな偶数と大きな偶数をペアにして内側へすすむ<br><br></p>&mdash; Junji Suzuki (@jboysoft)
<a href="https://twitter.com/jboysoft/status/1162652622798516226?">
</a></blockquote>

#Vim script
``` vim
exe 'echo ' . join(range(2, 101, 2), '+')

" vim 8以上、偶数の判定も行う版
exe 'echo ' . join(filter(range(101), {i, v -> v % 2 == 0}), '+')
```

# Groovy
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Groovyだとこんな感じになるかと思います。<br><br>(0..100).findAll{it % 2 == 0}​.sum()</p>&mdash; 山ｐ🌁 (@yamap_55) <a href="https://twitter.com/yamap_55/status/1162172514392391681?ref_src=twsrc%5Etfw">August 16, 2019</a></blockquote>

# Go

```go
for i, N, result := 1, 100 + 2, 0; i <= N; i++ { if i == N { fmt.Println(result) } else { result += (i + 1) & 1 * i } }
```

ref: https://qiita.com/noobow/items/28cd77968815f329ca77#comment-324899874e91ab0ea091

#Delphi
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">1から100までの偶数の和を Delphi (10.3) で素直に書くとこうなるかな。<br>begin var v:=0;for var i in[1..100]do if not Odd(i)then Inc(v, i);Writeln(v)end.</p>&mdash; DEKO (@ht_deko) <a href="https://twitter.com/ht_deko/status/1162202502965522434?ref_src=twsrc%5Etfw">August 16, 2019</a></blockquote>

<blockquote class="twitter-tweet" data-conversation="none"><p lang="en" dir="ltr">77 文字。<br>begin var v:=0;for var i in[1..100]do Inc(v,i*Ord(not Odd(i)));Writeln(v)end.</p>&mdash; DEKO (@ht_deko) <a href="https://twitter.com/ht_deko/status/1162265343890296832?ref_src=twsrc%5Etfw">August 16, 2019</a></blockquote>

# DOS

```shell:コマンドプロンプト
set s=0 & for /l %a in (0,2,100) do set /a s = s + %a
```

# J

奇数の項をゼロに置き換えて総和を求める

```
+/(2&|0:^:["_1])>:i.100
```

偶数の項だけ選び出して総和を求める

```
+/(#~[:-.2&|)>:i.100
```

偶数の項に1、奇数の項に0を掛けてから総和を求める

```
+/(*[:-.2&|)>:i.100
```

# jq

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">1から100までの偶数の和も jq ならたったの1行で書ける<br><br>$ jq -n &#39;[range(1;101) | select(.%2==0)] | add&#39;<br><br>とてもシンプルですね。jq なら複雑なコードもシンプルに。<br><br>そう、jq ならね</p>&mdash; Takeshi Shinoda (@takeshinoda) <a href="https://twitter.com/takeshinoda/status/1162387144020615175?ref_src=twsrc%5Etfw">August 16, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>