/************************************************ ** In this example, I'm simply trying to ** compute 8768767 / 3^5 ... but I get different ** answers in the two different ways I call pow. ** Explain what's going on? ************************************************/ #include #include using namespace std; int pow(int x, int k); int main() { int b = 8768767; //-- FIRST EXAMPLE CALLING POW ----------------// double z = 3.0, t = 5.0; cout << "1st answer is " << b / pow(z,t) << endl; //-- SECOND EXAMPLE CALLING POW ---------------// int a = 3, e = 5; cout << "2nd answer is " << b / pow(a,e) << endl; return 0; } int pow(int x, int k) { int ans = 1; for(int i = 0; i < k; i++) ans = ans * x; return ans; }