Программа (Си)

Здравствуйте, бьюсь над задачей, и никак не доходит, как адекватно располагать loops и if-else. Задачка такая: нужно написать программу, которая указывает полнократное ли n, (2 <= n <= 2000000000). Более того, корень которого является свободным от квадратов. Например, 21 - свободное от квадратов число, 21^2 = 441, значит 441 - полнократное. В задаче нельзя использовать никакие математические функции, по сути только петли и if-else. Народ, помогите плес, глаза красные уже.