ибо у меня вот этот код
double myPow(double x, int n) {
if(n<0)return 1/(myPow(x,-n/2)*myPow(x,-n/2));
if(n==0)return 1;
if(n%2==0)return myPow(x,n/2)*myPow(x,n/2);
else return myPow(x,n/2)*myPow(x,n/2)*x;
}
крашится на одном из тестов,
конкретная проблема:
Input:34.00515, -3
Output: 0.00086
Expected: 3e-05
помогите пофиксить пожалуйста)
не верю в эту строку if(n<0)return 1/(myPow(x,-n/2)*myPow(x,-n/2)); постарайтесь не выпендриваться и написать if(n<0)return 1./(myPow(x,-n));
кроме того, мне очень не нравится отсутствие сохранения myPow(x,n/2) в переменную
Обсуждают сегодня