用牛顿迭代公式求 x 的立方根【课内作业】
题目:
代码:
#include
#include
#define float doublefloat CubeRoot(int num){float x = num;float error = 1e-6;//float的话只能5位,6的化会死循环while (fabs(num - (x * x * x)) >= error) {x = (2 * x + num / (x * x)) / 3.0;printf("%f\n",x);}return x;
}int main(){int temp;scanf("%d", &temp);printf("%.2f",CubeRoot(temp));return 0;
} 输出结果:
(题目的文字版:)
用牛顿迭代公式求 x 的立方根, 保留两位小数。计算公式为:
, 当
(ε为一个很小的数, 比如0.000001)时,
即为 x 的立方根。(注意:1/3的结果为0,写成1.0/3 可避免整除问题;使用fabs库函数求绝对值时需要include
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
