Задание:
Ваша задача перебрать все I от 1 до n и выяснить, какое из этих i является делителем n и при этом является нечётным числом. asg(n mod i) равно 1, если i является делителем n, и равно 0, если не является.
sg(i mod 2)=1, если i - нечётное число, и равно 0, если наоборот.
Произведение этих двух функций даст 1, если выполнятся оба условия. И 0, если не выполнится хотя бы одно.
И получается мы возводим i в первую степень (и получаем i), когда i - нечётный делитель n. В остальных случаях возводим i в 0-ю степень и получаем. 1.
Дальше перемножаем i или 1 и получаем ответ.
sg(n) нужен для того, чтобы обработать случай, когда n=0.