CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  新手乐园

求“开方”算法

楼主xishuaiya(蟋蟀)2006-05-01 17:08:47 在 C/C++ / 新手乐园 提问

俺刚学c++不久  
  今天突然要用到“开方”  
  回想起来还真不知道咋实现  
  求朋友们给说说  
  感激不禁 问题点数:10、回复次数:7Top

1 楼Roaming_Sheep(Roaming Sheep)回复于 2006-05-01 17:34:57 得分 0

sqrt函数,好像是在math.h定义  
  Top

2 楼xishuaiya(蟋蟀)回复于 2006-05-01 17:57:40 得分 0

sorry,  
  我没说清  
  应该是开任意次方的算法啊  
  谢谢大家帮助!Top

3 楼gernal_dn()回复于 2006-05-01 20:28:28 得分 10

通过对数变换即可。  
  a   ^   b   =   exp(   b   *   ln(a)   )  
  Top

4 楼agcty(thinking is very important~~~)回复于 2006-05-01 20:56:25 得分 0

 
   
  若求X^n=c,即X=c^(1/n)  
  f(X)=X^n-c=0      
  f   '(X)=nX^(n-1)  
  用牛顿迭代法解出X即可  
  迭代格式:  
  Xn+1=Xn-f   (X)/f   '(X)  
          =Xn-(X^n-c)/(nX^(n-1))  
  当|Xn+1   -   Xn|-->e时,退出  
  此时的X即为所求解Top

5 楼agcty(thinking is very important~~~)回复于 2006-05-01 20:58:23 得分 0

 
  看看数值分析与算法的书  
   
  会很有帮助的Top

6 楼zhangwanlong(david++)回复于 2006-05-01 23:19:19 得分 0

//     通吃一切A的X次方形式的  
  #include   <math.h>  
  #include   <stdio.h>  
  #include   <stdlib.h>  
   
  #define   PI   3.1415926535897932384626  
   
  float   ax(   float   a,   float   x   );  
   
  float   ax(   float   a,   float   x   )  
  {  
          return   sinh(x*log(a))   +   cosh(x*log(a));  
  }  
   
  int   main(int   argc,   char   *argv[])  
  {  
          float   a,x;  
          a:  
          scanf("%f%f",&a,&x);  
          printf("%f\nPress   any   key.",   ax(a,x));  
          goto   a;  
           
          return   0;  
  }Top

7 楼wupin123456789()回复于 2006-05-08 11:13:01 得分 0

在C里面可以用SQRT,C++没学过,应该是一样的吧Top

相关问题

关键词

得分解答快速导航

  • 帖主:xishuaiya
  • gernal_dn

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo