Project Euler 20 21 マルチタスクという神話
マルチタスクができる人と言われたら、優秀なイメージを持ちます。マルチタスクは優秀な人だけができる、高度な技術であることは周知の事実です。ただ、この事実には一つだけ問題があります。それは、この周知の事実は誤っているということです。
僕は大学入学以来いろいろなことに手を出してきたのは今までの記事で書いた通りですが、9で集中力の悩みを述べた通りいろいろ手を出しすぎて集中力が分散していたことを認識し、なるべくそうならないように意識してきました。
ところが、やることを絞った後でもやることが多く残っており、意識を集中させるのに限界を感じていました。そして無意識的にこれくらいのことを同時にこなせないと有能になれないと思っていました。「マルチタスクできなきゃいけない」と信じ込んでいました。
ここで救ってくれたのは「SINGLE TASK 一点集中術」という本でした。やはり本は自分を客観的にみて冷静に解決まで導いてくれます。この本に書いてある主な主張は、「マルチタスクは虚構であり、シングルタスクこそが最も効率的な方法である」ということです。
マルチタスクはこれまで技術だと思っていたのですが、一般的に知られるマルチタスクとはそうではなく、注意散漫と外部からの膨大な量の情報から生じる単なる誘惑の結果だというのです。では、本来のマルチタスクとは何かと言うと、シングルタスクを繰り返し行う「タスクスイッチング」なのです。
つまり、マルチタスクはシングルタスクを元に行われるのであり、いわゆる「同時に複数のことをこなすこと」のことではないということです。したがって多くのことをこなさないといけない場面においても、各瞬間では一つのことに全力で集中しシングルタスクに努めることが重要であるのです。
今回の問題:
”100の階乗を計算した時の各位の値の和を求めよ。”
解説は特にないです。
function factorial(num){
var product = 1;
for(var i = 1; i<num+1; i++){
product *= i;
}
return(product);
}
function digitSum(num){
var sum = 0;
var numArray = factorial(num).toString().split('');
for(var i = 0; i<numArray.length; i++){
sum += Number(numArray[i]);
}
console.log(sum);
}
次に行きましょう。
今回の問題:
”d(n)をnの約数の和(n自身を除く)とする。d(a)=b、d(b)=aを満たす時、aとbは友愛数であるという。この時、10000以下の全ての友愛数の和を求めよ。”
ここから先は
¥ 100
この記事が気に入ったらサポートをしてみませんか?