Вы это проверяли, двойное зеркалирование в Vecrev(Polrev(v)^2)? Возвращается в итоге что надо?
Да, весь код рабочий, копирую только после сверки результата с образцом.
Кстати можно и без зеркаливания сделать (заполнение v[] то же):
q=apply(t->(t+1)\2, Vec(Pol(v)^2, N\2-2]));Только пропадут первые два значения, 2 и 4, q[1] будет про 6, не про 2. Неудобно, зато короче.
Тут в полиноме перепутаны старшие и младшие степени, но так как нам нужна лишь симметричная сумма, то и плевать. За исключением что старшая степень (которая теперь про число 1) оказывается нулевой и из вектора пропадает, потому он и обрезается на 2 меньше. Кривовато, но забавно.
-- 09.11.2025, 18:19 --Кстати, ограничение N\2 немного зажато, правильные значения вплоть до nextprime(N)+2.