Please, help me correct (if necessary) and complement my "solutions".

Expressions

__can't be simplified__, that is, you can not change

into

.

- recursive
Code:

int RECURSION(int n, int m){
if (m > 1)
{
for (int i = 0; i < n; i++)
{
return RECURSION(n, m-1);
}
}

[/*:m:3bzix122] - iterative (Should be done by using stack, but how exactly?)

[/*:m:3bzix122] - iterative
Code:

int counter = n;
int factorial = 1; // Will store the final result n!
while (counter > 1)
{
factorial *= counter--;
}

[/*:m:3bzix122] - recursive
Code:

int RECURSION(int n)
{
int factorial;
if (n > 1)
return ( factorial * RECURSION(n-1) );
else
return 1;
}

[/*:m:3bzix122] -

Code:

for (int i = sqrt(n)/m; i > 0; i /= 10) // Assume 10-base logarithm.

One "for" loop is __not__ allowed, so how should above one-liner be rewritten?[/*:m:3bzix122]