効率を考えずにブルートフォース一筋で逝くなら数学はいらないかも。
効率を考え始めたら数学が必要になる罠。
1からnまでの合計を返す関数をゴリゴリとループ回して計算するのも乙だが
(n(n-1))/2;とだけ定義した方がよっぽど賢い(というか関数にする必要もない)。

英語は「出来ると便利」程度かと。
と言いつつ、日本語にローカライズされていないマニュアルは山ほどあるんで
仕事でプログラム組むには英語は必須かと。

アメリカで計算機科学専攻してる俺はいつでも勝ち組。(^_^)v