次のコードは、O(n) を返します。時間計算量が O(c^k) の for ループをコーディングするにはどうすればよいですか?
int power(int x, unsigned int y)
{
if( y == 0)
return 1;
else if (y%2 == 0)
return power(x, y/2)*power(x, y/2);
else
return x*power(x, y/2)*power(x, y/2);
}