n番目の完全数を返す関数だと思うのですが4以上を入力すると上手くいきません
関数自体を自分で書き換えるしかないでしょうか?
f[n_] :=
 Nest[If[
        If[# == 0, 0,
            If[
             Mod[#2, #] ==
              0, # + #0[# - 1, #2], #0[# - 1, #2]]] &[#, #] ==
         2*#, #, #0[# + 1]] &[# + 1] &, 1, #] &@n