Потому что Вы про пункт (2), а я про п.(1) - т.е. не влезая внутрь готовой функции.
И потом, разве плохой метод ускорения? И я не настаиваю, что знаю всё на свете. И просто интерсно сравнить.
Хотел немного оправдаться. Выше я сравнивал варианты (Pn-k)x(An,k) при k=4, к тому же записью в файл.
Сравнил для k=5, без печати:
12/5, w/o print, time= 0.390001 s, Total= 84934080, 218 m/c
13/5, w/o print, time= 5.694010 s, Total= 1253952000, 220 m/c
14/5, w/o print, time= 88.311755 s, Total= 19620195840, 222 m/c
12/0, w/o print, time= 2.308804 s, Total= 479001600, 207.5 m/c
13/0, w/o print, time= 29,858453 s, Total= 6227020800, 208.5 m/c
14/0, w/o print, time= 414.898329 s, Total= 87178291200, 210 m/c
12,13,14 - размерность n
12/5 при k=5
12/0 при k=0,т.е. для (Pn)
Total - длина перебора
m/c - вычисленная производительность млн/сек