Пробегал глазами по рассылке вакансий, попалась интересная задачка:
"В качестве разминки напишите реализацию функции g(n), которая вычисляет n^2, используя из математических операций только + и –.Язык программирования любой, n — натуральное число, вспомогательные переменные использовать не рекомендуется".
На всякий случай, не заморачивайтесь с отрицательными числами.
Но как же без вспомогательных переменных?
Максимум, получилось следующее (но тут они неявно все равно будут в избытке)

:
[spoiler]
int G(int n, int itreation = 1)
{
if (itreation == n)
return n;
return n + G(n, itreation + 1);
}
[/spoiler]
04.07.14 18:21: Перенесено модератором из 'Алгоритмы' — Кодт