B3LYPЗачем массивы?! И без них быстро:
А если не делать функцию от N, а сразу считать следующее N из предыдущего, то по идее ещё быстрее:
? m=6/Pi^2; q=0; s=-1; for(n=1,1e8, s+=eulerphi(n)*2; if(s<m*n^2, q++); ); q
time = 1min, 53,069 ms.
%1 = 182255
Количество исключений до N=10^8.
До 100
миллионов, Карл!
Ну вот, сделал с функцией Эйлера:
А почему на точках
Рекомендую проверить N=820, 1276, 1422, 1926, 2080, 2640, 3160, 3186, 3250, 4446, 4720, 4930.
оно не упало ниже красного предела, а? До 100000 должно быть 192 проседаний ниже красной линии (и считается за десятки
мс). Соответственно график или неправильный, или слишком грубый (не все натуральные точки проверены/показаны) - и в таком виде вводит в заблуждение. Когда все точки не влезают на график, лучше ставить не одну точку, а рисовать так называемые "усы" допуска (планки погрешностей, error bars), т.е. линию от минимума до максимума (а одно точное значение выделять например цветом или размером маркера), это
гораздо информативнее.