如何用C语言实现开三次方根 c语言中,开三次方用什么??

C\u8bed\u8a00\u5f00\u4e09\u6b21\u65b9\u600e\u4e48\u505a\uff1f

\u5f00\u7acb\u65b9\u4e5f\u5c31\u662f\u6c421/3\u6b21\u65b9\uff0c\u6240\u4ee5\u53ef\u4ee5\u7528pow()\u51fd\u6570\uff1a

double a=pow(8,1.0/3);
/*a=2*/

////////////////////////////////////////////////

c\u8bed\u8a00\u4e2d\uff0c\u5f00\u4e09\u6b21\u65b9\u7528pow\u51fd\u6570\u3002\u5373double pow(double number, double power)\u3002
pow\u51fd\u6570\u7684\u4e3b\u8981\u4f5c\u7528\u662f\u8fd4\u56de\u7ed9\u5b9a\u6570\u5b57\u7684\u4e58\u5e42\u3002POWER\u51fd\u6570\u7684\u8bed\u6cd5\u4e3a\uff1adouble pow(double number, double power)\uff0c\u5176\u4e2d\u53c2\u6570number\u8868\u793a\u5e95\u6570\uff1b\u53c2\u6570power\u8868\u793a\u6307\u6570\u3002
\u4e24\u4e2a\u53c2\u6570\u53ef\u4ee5\u662f\u4efb\u610f\u5b9e\u6570\uff0c\u5f53\u53c2\u6570power\u7684\u503c\u4e3a\u5c0f\u6570\u65f6\uff0c\u8868\u793a\u8ba1\u7b97\u7684\u662f\u5f00\u65b9\uff1b\u5f53\u53c2\u6570number\u53d6\u503c\u5c0f\u4e8e0\u4e14\u53c2\u6570power\u4e3a\u5c0f\u6570\u65f6\uff0cPOWER\u51fd\u6570\u5c06\u8fd4\u56de-1\u9519\u8bef\u503c\u3002

\u6269\u5c55\u8d44\u6599\uff1a
C/C++\u63d0\u4f9b\u4ee5\u4e0b\u51e0\u79cdpow\u51fd\u6570\u7684\u91cd\u8f7d\u5f62\u5f0f\uff1a
1\u3001double pow(double X,int Y)\u3002
2\u3001float pow(float X,float Y)\u3002
3\u3001float pow(float X,int Y)\u3002
4\u3001long double pow(long double X,long double Y)\u3002
5\u3001long double pow(long double X,int Y)\u3002
\u4f7f\u7528\u7684\u65f6\u5019\u5e94\u5408\u7406\u8bbe\u7f6e\u53c2\u6570\u7c7b\u578b\uff0c\u907f\u514d\u6709\u591a\u4e2a\u201cpow\u201d\u5b9e\u4f8b\u4e0e\u53c2\u6570\u5217\u8868\u76f8\u5339\u914d\u7684\u60c5\u51b5\u3002
\u5176\u4e2d\u8f83\u5bb9\u6613\u53d1\u751f\u91cd\u8f7d\u7684\u662f\u4f7f\u7528\u5f62\u5982:
int X,Y;
int num=pow(X,Y);
\u8fd9\u662f\u4e00\u4e2a\u6bd4\u8f83\u5e38\u7528\u7684\u51fd\u6570\uff0c\u4f46\u662f\u7f16\u8bd1\u5668\u4f1a\u63d0\u9192\u6709\u591a\u4e2a\u201cpow\u201d\u5b9e\u4f8b\u4e0e\u53c2\u6570\u5217\u8868\u76f8\u5339\u914d\u3002
\u53ef\u4ee5\u4f7f\u7528\u5f3a\u5236\u7c7b\u578b\u8f6c\u6362\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff1anum=pow((float)X,Y)\u3002

用牛顿迭代公式Xn+1=Xn-f(Xn)/f'(Xn)
其中f(X)=X^3-a

float CubeRoot(float a){
float root=1.0; /*迭代初始值,随便取一个数,但不要是0*/
while(fabs(root*root*root-a)>=0.0001) /*设定迭代精确度,如果精度比较高的话可以把root定义为double,防止死循环。或者可以在循环内部根据迭代次数调整精度*/
root=root-(root*root*root-a)/(3*root*root);

return root;
}

int main(void){
float a;
float CubeRoot(float a);
printf("Please input a: "); scanf("%f",&a);
printf("\nThe cube root of %f is %f",a,CubeRoot(a));
return 0;
}

不知道我的可不可以 是很简单 但是用到sqrt函数 钻了你的漏洞 呵呵
比方说 求2的三次开方
sqrt(2*2*2)
相信你肯定懂C语言 不用我写完整 你肯定明白了
我也没有多想 希望有用

cin>>m;
double a=0;
while(1){
a+=0.0000000001;
if(a*a*a>m){a=a-0.0000000001;break;}}
cout<<"三次方根:"<<a<<endl;

  • 濡備綍鐢–璇█姹3鐨勭珛鏂规牴?
    绛旓細鍙互浣跨敤pow(x锛寉)鍑芥暟鏉ュ疄鐜皒鐨3娆℃柟锛涜鍑芥暟闇瑕佽皟鐢╩ath.h澶存枃浠 浠g爜涓句緥濡備笅锛歺=3鏃 include<stdio.h> include<math.h> int main(){ int x=3,y;y=pow(x,3);printf("%d\n",y);} 杩愯缁撴灉濡備笅鍥撅細
  • C璇█寮涓夋鏂鐢ㄥ摢绉嶅嚱鏁?
    绛旓細c璇█涓紝寮涓夋鏂鐢╬ow鍑芥暟銆傚嵆double pow(double number, double power)銆俻ow鍑芥暟鐨勪富瑕佷綔鐢ㄦ槸杩斿洖缁欏畾鏁板瓧鐨勪箻骞傘侾OWER鍑芥暟鐨勮娉曚负锛歞ouble pow(double number, double power)锛屽叾涓弬鏁皀umber琛ㄧず搴曟暟锛涘弬鏁皃ower琛ㄧず鎸囨暟銆備袱涓弬鏁板彲浠ユ槸浠绘剰瀹炴暟锛屽綋鍙傛暟power鐨勫间负灏忔暟鏃讹紝琛ㄧず璁$畻鐨勬槸寮鏂癸紱褰撳弬鏁...
  • 濡備綍鐢–璇█瀹炵幇寮涓夋鏂规牴
    绛旓細float root=1.0; /*杩唬鍒濆鍊硷紝闅忎究鍙栦竴涓暟锛屼絾涓嶈鏄0*/ while(fabs(root*root*root-a)>=0.0001) /*璁惧畾杩唬绮剧‘搴,濡傛灉绮惧害姣旇緝楂樼殑璇濆彲浠ユ妸root瀹氫箟涓篸ouble锛岄槻姝㈡寰幆銆傛垨鑰呭彲浠ュ湪寰幆鍐呴儴鏍规嵁杩唬娆℃暟璋冩暣绮惧害*/ root=root-(root*root*root-a)/(3*root*root);return root;} int...
  • C璇█寮涓夋鏂规庝箞鍋?
    绛旓細寮绔嬫柟涔熷氨鏄眰1/3娆℃柟锛屾墍浠ュ彲浠ョ敤pow()鍑芥暟锛歞ouble a=pow(8,1.0/3);/*a=2*/ /// 鍙傝冭祫鏂欙細http://zhidao.baidu.com/question/69352918.html
  • C璇█涓鏍瑰彿鎬庝箞鎵撳嚭鏉ュ憖?
    绛旓細棣栧厛鍦 main()鍑芥暟 涓婅竟鍔犱釜#include "math.h" 鍥犱负寮鏍瑰彿灞炰簬 鏁板鍑芥暟閲岃竟鐨勫嚱鏁帮紝瑕浣跨敤鏍瑰彿灏辫鍔犱笂#inculde "math.h"锛孿r\n鐒跺悗鍦ㄤ綘瑕佸紑鏍瑰彿鐨勬暟鐨勫墠杈瑰姞涓 sqrt,灏卞彲浠ヤ簡 \r\n渚嬪\r\n#inculde "math.h"\r\nmain()\r\n{ float a,b;\r\n printf("please input a nuberm:"...
  • C璇█涓,骞虫柟鏍圭敤鍑芥暟sqrt,閭d箞涓夋鏂规牴鐢ㄤ粈涔堝嚱鏁板憿?
    绛旓細double pow(double x,double n) 鏄痬ath.h閲屼竴鍑芥暟,姹倄鐨刵娆″箓 x蹇呴』>0,绔鏂规牴灏辨槸1/3娆″箓浜 浣嗚繖閲岃鐢3.0鎴1.0/3,鍚﹀垯鎴愪簡鏁撮櫎缁撴灉涓1 C璇█鏄竴闂ㄩ氱敤璁$畻鏈虹紪绋嬭瑷锛屽簲鐢ㄥ箍娉涖侰璇█鐨勮璁$洰鏍囨槸鎻愪緵涓绉嶈兘浠ョ畝鏄撶殑鏂瑰紡缂栬瘧銆佸鐞嗕綆绾у瓨鍌ㄥ櫒銆佷骇鐢熷皯閲忕殑鏈哄櫒鐮佷互鍙婁笉闇瑕佷换浣曡繍琛岀幆澧冩敮鎸...
  • C璇█涓,寮涓夋鏂鐨勮〃杈惧紡璇彞鏄粈涔?
    绛旓細inclu#include<stdio.h> include<math.h> void main(){ int a;double b;printf("璇疯緭鍏ヨ璁$畻鐨勬暟锛");scanf("%d",&a);b=pow(a,3);printf("%d鐨涓夋鏂鏄細%3.2f",a,b);}
  • c璇█鏍瑰彿鎬庝箞鎵撳嚭鏉
    绛旓細闂涓锛c璇█涓鏍瑰彿鎬庝箞鎵  鑰藉懙 鑰佸ぇ  c璇█閲岄潰寮鏂规槸涓鐢ㄦ牴鍙鐨  浣犵幇鍦ㄧ▼搴忎笂闈笂闈 鍐欎笂#include  鐒跺悗鏉$敤sqrt锛堬級鍑芥暟灏卞彲浠ュ紑鏂逛簡  sqrt鏄紑鏂  pow(x,n)鏄紑N娆℃柟  鏈涢噰绾    闂浜岋細鏍瑰彿鎬庝箞鎵  鎵撴牴鍙凤紙鈭氾級绛...
  • C璇█涓眰涓涓暟鐨涓夋鏂
    绛旓細include<stdio.h> main() { double x,y; printf("璇疯緭鍏ユ暟瀛楋細"); //杩欓噷鍔犱笂涓鍙ュ弸鎯呮彁绀 scanf("%d",&x); //杩欓噷鐨勪笂涓嬩袱鍙ュ璋冿紝鍚屾椂 x 鐨勫墠闈㈠姞涓 & 鍦板潃绗 y=x*x*x; //杩欓噷鐨勪笂涓嬩袱鍙ュ璋僷rintf("y=%d\n",y); } ...
  • C璇█鍑芥暟鏁板鍑芥暟
    绛旓細瀵规暟鍑芥暟锛歭og(double x)鍜宭og10(double x)鍒嗗埆璁$畻鑷劧瀵规暟鍜屽父鐢ㄥ鏁般 骞杩愮畻锛歞ouble pow(double x, double y)杩斿洖xy鐨勫硷紝pow10(int p)鍒欒繑鍥10鐨刾娆″箓銆 骞虫柟鏍瑰嚱鏁帮細double sqrt(double x)杩斿洖姝g殑骞虫柟鏍广 涓夎鍑芥暟锛氬acos(double x)銆乤sin(double x)銆乤tan(double x)鍜宎tan2(do...
  • 扩展阅读:c语言怎么开三次方根 ... 开平方根的速算技巧 ... 开平方最笨的方法 ... c语言x三次方怎么打 ... c语言如何开三次根号 ... c语言开三次方函数 ... c语言三次方根怎么写 ... c语言如何开平方根 ... c语言开三次方根如何表达 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网