文系プログラマーのプログラミング備忘録

Java、競プロ、数学などについて書いてます

Java-自作メソッド倉庫

Javaで階乗を高速に求めるメソッドを作る

階乗を求めるアルゴリズムというと、再帰関数を用いたものが広く知られています。 static long factorial (int i) { if (i==1) {return 1;} else {return i*factorial(i-1);} } for文を用いても同様の計算ができますが、これらの 1*2*3*4......N と順番に乗…

Javaで素因数分解メソッドを作る

ある数を素因数分解して、その結果を返すメソッドを作ります。 素因数分解とは、Wikipediaによれば ・ある正の整数を素数の積の形で表すこと だそうです。ある数Nを ・N = 2^a * 3^b * 5^c * ...... を表すということですね。今回は、N をこの形で出力するメ…

Javaでnext_permutationメソッドを作ってみる

next_permutation は c++ の関数で、与えられた順列の次の順列を戻します(1234 → 1243)。 AtCoder のある問題を解くにあたってこの関数が必要になったので、Java には用意されてないのかな~と探してみましたが、私が探してみた限りでは存在していませんで…