当前位置:   article > 正文

乐鑫提前批-校招-嵌入式软件开发(音频方案)+编程题_乐鑫嵌入式

乐鑫嵌入式

1.在没有任何数据库函数的情况下,求一个数m开n次方的结果

  1. #include <iostream>
  2. using namespace std;
  3. const double DELTA = 0.000000000001;
  4. /*
  5. 递归实现
  6. eg:
  7. myPow(2,3)
  8. myPow(2,1)
  9. myPow(2,0)
  10. */
  11. double myPow(double x, int n)
  12. {
  13. if (n == 0)
  14. return 1.0;
  15. double tmp = myPow(x, n / 2);
  16. if (n % 2)
  17. return n < 0 ? 1 / x*tmp*tmp : x*tmp*tmp;
  18. else
  19. return tmp*tmp;
  20. }
  21. /*
  22. x^n = m
  23. */
  24. double Newton(double m, int n, double delta)
  25. {
  26. if(m <=0 || n <= 0)
  27. {
  28. return 0;
  29. }
  30. double x0 = 1;
  31. double x1 = ((n-1)+m) / n;//只是给一个初始值而已
  32. while((-delta >= (x1-x0)) || ((x1-x0) >= delta))
  33. {
  34. x0 = x1;
  35. x1 = ( (n-1)*x0 + m / (myPow(x0, n-1))) / n;
  36. }
  37. return x1;
  38. }
  39. int main()
  40. {
  41. cout << Newton(5, 3, DELTA) << endl;
  42. return 0;
  43. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/1018435
推荐阅读
相关标签
  

闽ICP备14008679号