限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。前回は1から2016までの総和を取りました。今回はもうちょっと応用していきます。1から2016までのうち、偶数のみを取り出して総和をとるはい。数式では難しくなってきました。)、わかりづらいですよね。rangeとreduceを使うだけでは、これもまたうまく動きません。そこで今回はfilterを使います。filterとはその名のとおり絞り込むものです。これを使うとこのように書けます。0));%は割った余りを求める演算子、===は両辺が等しいか比べる演算子です。「nを2で割った余りが0かどうか」、ということです。filterは数列を先頭から順にnに入れていき、nを2で割った余りが0である要素、つまり偶数のみを抽出します。あとは前回の復習で総和取ってるだけです。説明された後でコードを見返すと、実にコードが言葉をそのまま表していることがわかると思います。1から2016までのうち完全数であるものを取りだしてみる今回は総和を取りません。完全数とはまず完全数とはなんぞや?という人のために説明しておきます。完全数とは、その数の約数(その数自身は除く)の総和がその数自身である数のことです。...わかりにくいので例を挙げます。6の約数は1,2,3,6で、6自身を除いた和が1+2+3=6であり、完全数となっています。他にも28や496なんかがあります。1+2+4+8+16+31+62+124+248=496です。いうかぶっちゃけ言うと今回の答えは{6,28,496}です。意外と完全数って少ないんですよね。完全数を明文化してみる以上を踏まえて完全数を文章にしてみます。完全数とは、その数未満の数のうち、その数の約数であるものの総和と等しい数のことである。明文化までできた、filterもreduceも使える、ここまでくれば自力で書けます。やってみたい人はどうぞ。難しいと思うので答えもすぐ下に載せておきます。コーディング上の文章は実はコーディングしやすいように書きました。違和感ありませんでしたか?「その数未満の数のうち」は約数って書けばいいじゃんとか。...まあそれはさておき。0)));このコード、口で説明しようとすると意外と厄介です。先ほどの文章をそのままコードにしていることがわかるでしょうか?終わりに...そろそろ厳しくなってきました。rangeやreduceはforに意味を持たせて可読性は上げてくれるのですが、やはり限界があります。以前、Fisher-Yatesアルゴリズムについての記事を書きました。...2016-07-26forもifも使わないプログラミング入門(終)シリーズ物書ききったの初めてかも2016-07-12forもifも使わないプログラミング入門3そろそろforなしifなしでは限界を迎えます。いけるので...2016-06-19マークダウンで間違えがちなところ(この記事はQiitaで僕が書いたものを移行した記事です。限界を究めるブログです。までSNSTwitterGitHubHomepageBlog連載リストプライバシーポリシースターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。