Продолжение costa s answer ;
Если вы попытаетесь N как 10000000,
int N = 10000000;
вы увидите, что нет большой разницы (около 107,4 до 103,4 секунды).
Если значение становится больше, разница становится меньше.
Итак, если вы не возражаете против медлительности в три секунды, я думаю, что это разница между удобством использования и вкусом.
PS: В коде типы возврата int должны быть преобразованы вдолго.