1154,2100,2101

1154

問題がわかりずらくて泣。理解力がなくて泣。
とりあえず月曜土曜数を生成しておいて、月曜土曜素数かどうかを判定する関数を用意した。
そして、毎回入力に対して、「月曜土曜数で割り切れて」かつ「その月曜土曜数が月曜土曜素数」の時、表示。
毎回計算しなおしてるからTLEかと思ったらそうでもなかった。

2100

やるだけ。「(今の数字)-(一個前の数字)」を配列にいれておいて、ソート。

2101

普通に約数の和を計算するとかなり時間がかかる。「約数関数σ(n)」で判別した。
整数nを因数分解して、n=(p1^a1)*(p2^a2)*...となったら、約数関数はσ(n)=σ(p1^a1)*σ(p2^a2)*...となる。
σ(p^a)=1+p+p^2+...+p^aなので、それで計算できる。
σ(n)<2nなら「不足数」。σ(n)>2nなら「過剰数」。σ(n)==2nなら「完全数」。