c++完整的平方根代码,谢谢

作者&投稿:直晨 (若有异议请与网页底部的电邮联系)
用c++编程:求正数的平方根~

你把你定义的 int i;换成double i;这样就不会显示“sqrt对重载函数调用不明确”
再像这样在输出的时候添加一个(int)sqrt(i)就可以实现了。

#include
#include
#include
#include

using namespace std ;


// 分数类别
class Fraction {
private :

// 分子 与 分母
int num , den ;

// 计算最大公因数
int gcd( int a , int b ) const {
if ( a >= b )
return ( a % b == 0 ? b : gcd(b,a%b) ) ;
else
return ( b % a == 0 ? a : gcd(a,b%a) ) ;
}


public :

// (1) 约分的建构函式
Fraction( int n = 0 , int d = 1 ) : num(n) , den(d) {
if ( num != 0 ) {
int g = gcd(num,den) ;
num /= g ;
den /= g ;
}
}

// (2) 不约分的建构函式
Fraction( int n , int d , int j ) : num(n) , den(d) {}

// 回传分子
int get_num() const { return num ; }

// 回传分母
int get_den() const { return den ; }

// 回传倒数
Fraction inverse() const { return Fraction(den,num) ; }

// 计算连分数表示数列
vector continued_fraction_list() const {

vector no ;

Fraction foo = *this ;


do {
no.push_back( foo.num/foo.den ) ;
foo = foo - no.back() ;
foo = foo.inverse() ;
} while ( foo.den != 1 ) ;

no.push_back( foo.num ) ;

return no ;
}

// 计算所有渐近分数之值
vector generate_convergents() const {

vector no = continued_fraction_list() ;
vector flist(no.size()) ;

int i , j ;
Fraction sum ;

flist.front() = Fraction(no[0]) ;

for ( i = 1 ; i < no.size()-1 ; ++i ) {
sum = Fraction(no[i]) ;
for ( j = i ; j > 0 ; --j )
sum = no[j-1] + sum.inverse() ;
flist[i] = sum ;
}

flist.back() = *this ;

return flist ;

}

// 夥伴函式:输出运算子
friend ostream& operator<< ( ostream& out ,
const Fraction& foo ) {
ostringstream ostr ;
if ( foo.num == 0 )
ostr << "0" ;
else
ostr << foo.num << "/" << foo.den ;

return out << ostr.str() ;
}

// 夥伴函式:加法运算子
friend Fraction operator+( const Fraction& a ,
const Fraction& b ) {
return Fraction(a.num*b.den+a.den*b.num,a.den*b.den) ;
}

// 夥伴函式:减法运算子
friend Fraction operator-( const Fraction& a ,
const Fraction& b ) {
return Fraction(a.num*b.den-a.den*b.num,a.den*b.den) ;
}


};

int main() {

int i ;

const int MDAYS = 295306 ;
const int YDAYS = 3652422 ;
const int SCALE = 10000 ;

Fraction foo(YDAYS,MDAYS,0) ;

vector no = foo.continued_fraction_list() ;
vector cno = foo.generate_convergents() ;

cout " << foo << " = [" ;
for ( i = 0 ; i < no.size()-1 ; ++i )
cout << no[i] << ( i == 0 ? ";" : "," ) ;
cout << no.back() << "] 的渐近分数 :
" ;

for ( i = 0 ; i < cno.size() ; ++i ) {
cout << "[" << setw(2) << i+1 << "] "
<< setw(14) << cno[i] << " " ;
if ( (i+1)%3 == 0 ) cout << endl ;
}
cout << "

" ;


int M , Y ;
double min ;

cout 渐近分数所产生的闰月数 :
" ;
for ( i = 0 ; i < cno.size() ; ++i ) {
M = cno[i].get_num() ;
Y = cno[i].get_den() ;
min = ( 1. * MDAYS * M - 1. * YDAYS * Y )*1440/SCALE/Y ;

cout << "[" << setw(2) << i+1 << "] 每 "
<< setw(6) << Y << " 年 " << setw(6) << M - 12 * Y
<< " 个闰月,阴历平均每年比阳历"
0 ? "多" : "少")
<< setprecision(6) << fixed << setw(13)
= 0 ? min : -min ) << " 分钟
" ;
}

return 0 ;

}

解数学题的话可以直接用sqrt函数

记得加上#include <cmath>头文件哦

-----------------------------------------------

资料,来源于百度百科

-----------------------------------------------

     平方根计算

    功 能: 一个非负实数的平方根

    函数原型: 在VC6.0中的math.h头文件的函数原型为double sqrt(double);

    说明:sqrt系Square Root Calculations(平方根计算),通过这种运算可以考验CPU的浮点能力。

    ------------------------------------------------------------

    程序例

    #include<math.h>

    #include<stdio.h>

    int main(void){

    double x = 4.0,result;

    result = sqrt(x);

    printf("Thesquarerootof%fis%f
    ",x,result);

    return 0;

    }

    --------------------------------

    C++实例

    #include <iostream>

    //这里的cmath等价于C的math.h

    #include <cmath>

    using namespace std;

    int main(){

    double x, result;

    cin>>x;

    result=sqrt(x);

    cout<<x<<"的平方根是"<<result<<endl;

    return 0;

    }

    //cmath等价于math.h,其就是using math.h的函数

    //VC 2008后为重载函数,原形为

    //float sqrt (float),double sqrt (double),long double sqrt(long double)

    //注意没有sqrt (int),但是返回值可以为int  



虽然知道需求曲线自然产生于消费者选择理论得到了证实,但需求曲线的推导本身并不是提出消费者行为的理论。仅仅确定人们对价格变动的反应并不需要一个严格的分析框架。但是,消费者选择理论是极其有用的。正如我们在下一节要说明的,我们可以用这种理论更深人地探讨决定家庭行为的因素。
即问即答 画出百事可乐和比萨饼的预算约束线和无差异曲线。说明当比萨饼价格上升时,预算约束线与消费者最优会发生什么变动。用你的图形把这种变动分为收入效应与替代效应。
四种应用
我们已经建立了消费者选择的基本理论,现在可以用它说明四个关于经济如何运行的问题。但是,由于每个问题都涉及家庭决策,所以,我们可以用我们刚刚提出的消费者行为模式解决这些问题。
所有的需求曲线都向右下方倾斜吗?
一般来说,当一种物品价格上升时,人们购买量减少。第四章把这种正常行为称为需求规律。这个规律表现为需求曲线向右下方倾斜。
但是,就经济理论而言,需求曲线有时也会向右上方倾斜。换句话说,消费者有时会违背需求规律,并在一种物品价格上升时购买更多。为了说明这种情况可以发生,请看图21-12。在这个例子中,消费者购买两种物品——肉和土豆。最初消费者预算约束线是从A到B的直线。最优点是C。当土豆价格上升时,预算约束线向内移动,现在是从A到D的一条直线。现在最优点是E。要注意的是,土豆价格上升使消费者购买了更多的土豆。



牛顿迭代法

随便一个教程就有这个算法


c语言 哪位大神把完整的正确的代码打一下啊
include <stdio.h>#include <conio.h>#include <math.h>#define LEN 500 \/*判断素数 1:是;0:否*\/\/*对于某数num,若其不能被2~num^1\/2(num的平方根)之间所有整数整除,则其为素数*\/int isPrime (int num) {int i,squareRoot;squareRoot = (int) sqrt(num);for (i=2; i<=square...

平方根练习题,要有参考答案的。
−2=-3 C. ±36=±6 D. 100−=10 4. 当x=-43时,2x的值为( ) A. 43 B.- 43 C.±43 D.12+a 5. 下列说法正确的是( ) A. 4的平方根是±2 B. -a2一定没有平方根 C. 0.9的平方根是±0.3 D. a2-1一定有平方根 6....

第17届信息学奥赛
for(j=1;j<=m;j++) sum+=h(i,j); cout<<sum<<endl; return 0;}输入:7输出:___五.完善程序 (第1题,每空2分,第2题,每空3分,共28分)1.(大整数开方) 输入一个正整数n(1≤n≤10100),试用二分法计算它的平方根的整数部分。#include<iostream>#include<string>using namespace std;const int ...

+++++++++++++++两道初二数学题,快来看看吧
设边长为2x,3x (2x)的平方+(3x)的平方=39,13x的平方=39 x=√3,面积=2x×3x=18 2、a²+b²+5=2(a+2b),a^2-2a+1+b^2-4b+4=0 (a-1)^2+(b-2)^2=0 a=1.b=2 (a-b)的2005次方的立方根=-1

一元二次方程判别式△读什么?
一元二次方程判别式(△)的读音是:delta.一元二次方程ax²+bx+c=0(a≠0)的根的判别式△=b²-4ac,△的符号可决定一元二次方程根的情况。1、当△>0时,方程有两个不相等的实数根。2、当△=0时,方程有两个相等的实数根。3、当△<0时,方程没有实数根,方程有两个共轭虚...

PHP的常用系统函数有哪些
PHP自带了大量的系统函数,使用这些函数可以完成大部分的任务。常用的有数学运算函数和日期时间函数。1.数学运算函数:数学运算是程序中最常执行的功能之一,PHP提供了很多系统函数实现运算功能,无须安装、编译和配置便可以直接使用。下表列出了常用的数学函数:函数名称 功能描述 函数名称 功能描述 abs()绝...

谁帮我整理一些C语言的基础知识,谢谢!!
功能:求x的平方根。例如,设x=sqrt(4),y=sqrt(16),则x=1.414214,y=4.07.函数名:log10 原型:double log10(double x); 功能:求x的常用对数。8.函数名:log 原型:double log(double x); 功能:求x的自然对数。9.函数名:exp 原型:double exp(double x); 功能:求欧拉常数e的x次方。10.函数名:pow10 ...

fun函数功能是计算并输出3—n之间所有素数的平方根之和,输入n=100后...
double fun(int n){ int i,j;double s=0.0;for(i=3;i<=n;i++){ for(j=2;j<i;j++)if(i%j!=0)s+=sqrt(i);\/\/这里错了,2到i间的数,都不能整除i才可以确定 为素数 } return s;} 修改说明:for(i=3;i<=n;i++){ for(j=2;j...

教写C语言计算器程序!急
计算器要求如下:1)设计一面向对象的类,含有加、减、乘、除运算及开平方等功能的函数。2)设计加、减、乘、除运算及求平方根的函数。3)设计实现四则混合运算的函数。4)设计测试函数。... 计算器要求如下:1) 设计一面向对象的类,含有加、减、乘、除运算及开平方等功能的函数。 2) 设计加、减、乘、除...

int n =(int)Math.sqrt(i)是什么意思
int n就是定义一个一个整型的变量,n=是赋值。(int)是强制类型转换,也就是把后面Math.sqrt(i)得到的结果转换成整型,而且是强制取整的方法,不会四舍五入。Math.sqrt(i)就是调用Math函数库里的sqrt()方法,对i进行处理,具体就是对i开方, i=2时也就是根号2=1.414,整句读起来就是对i...

玉溪市17275452397: C++任意输入一个四位数分别输出其千位百位十位个位上的值并输出它的平方根 -
台券复方:定义一个整型变量a来存储这个4位数,所以千位可以表示成:a/1000,百位:a/100%10,十位:a/10%10,个位:a%10,平方根用sqrt(a). 例如: //参考代码 #include #include using namespace std; int main() {int n,q,b,s,g;//定义...

玉溪市17275452397: C++程序设计:计算并输出100 - 200之间的所有素数的平方根之和 谢谢啦~~~ -
台券复方: #include<stdio.h> #include<math.h> int isprime(int n){ int i; for(i=2;i<=sqrt(n);i++){ if(n % i==0) return 0; } return 1; } int main() { int i; double s=0; for(i=101;i<200;i+=2){ if(isprime(i)) s+=sqrt(i); } printf("%lf\n",s); return 0; }

玉溪市17275452397: 如何用c++求根号函数的代码 -
台券复方: 你说的是用迭代法求某个数的平方根吧 float fsqrt(float a) { float x0, x1; x1=a/2; do{ x0=x1; x1=0.5*(x0+a/x0); }while(fabs(x1-x0)>0.00001); return(x1); }

玉溪市17275452397: c++求助 求两个数的平方根之和 -
台券复方: float fun(float a,float b) { float data=0; if((!(a<0))&&(!(b<0))) { data = sqrt(a)+sqrt(b); return data; } }

玉溪市17275452397: 本人初学c++,自己写的一段求平方根的代码,有点问题,请大牛指点. -
台券复方: 需要手动设置输出小数位数,在输出语句前加入以下设置语句: cout.precision(14);或cout<) 另外,二分法采用以下程序更简洁, #include #include //#include using namespace std; int main() { double x0,x1,x2,y; cin>>y; x1=0; x2=y; do { x0=(x1+x2)/2; if(x0*x0 x1=x0; else x2=x0; }while(fabs(x0*x0-y)>=1e-14); //cout< cout.precision(14); cout< return 0; }

玉溪市17275452397: 用C++编写个函数,对任意整数开平方根 -
台券复方: 一般都是用标准库里的 sqrt方法 要自己实现,通常用的是牛顿迭代 y = x 的平方 那么 y对 x 的导数是 2x 所以迭代式为 x = (y/x + x)/2 double mysqrt(double num) { double x = 1.0; while( fabs( x*x - y) > 1e-5) //达到精度标准就退出 { x = (y/x +x)/2; } return x; }

玉溪市17275452397: C++ 不动用系统函数求平方根 -
台券复方: #include#include#include using namespace std;int main(){ double num; cout<<"请输入一个数:"<<endl...

玉溪市17275452397: c+++求正整数的平方根 -
台券复方: #include main() { int n=1234; printf("root is: %f",sqrt(n)); }

玉溪市17275452397: 用c++语言编写出 从键盘上输入a b c d四个数,计算出他们的算术平方根. -
台券复方: #include //不用加.h using namespace std; //加namespace void main() { double a, b, c, d, z; cin>>a>>b>>c>>d; //d后不要加>> z=(a+b+c+d)/4; //z是小写 cout<<"z="<< }

玉溪市17275452397: vc++中开根号怎么搞 -
台券复方: 使用sqrt()函数就可以了,这是VC++数学库函数里边提供一个可以计算根号值得函数.它是在math.h中定义的,记得要在在头文件里添加math.h.sqrt函数的参数是被开方的数,返回的是平方根.比如:#include<stdio.h>#include<math.h> int main() { int number; scanf("%d",&number); printf("the root is %f",sqrt(number)); return(0); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网