根据前两期+又有新的,出了最终版:
// <lib> -*- C++ -*-
// Copyright (C) csdn.net-某某老六
// This is a C++ Library header.
#ifndef math666
#define math666
#include <math.h>
#include <algorithm>
namespace math666
{
const int PI=3.14159265358979323846;
double derta(double a,double b,double c){return b*b-4*a*c;}//Δ,不建议,不是分式
//二次函数没有,因为是 ±√Δ
double root(double _X,double _Y){return pow(_X,1/_Y);}//开根号
double root(int _X,double _Y){return pow((double)_X,1/_Y);}//开根号
double root(double _X,int _Y){return pow(_X,1/(double)_Y);}//开根号
double root(int _X,int _Y){return pow((double)_X,1/(double)_Y);}//开根号
double deci(double _X){return _X-ceil(_X);}//取小数
int __lcm(int _X,int _Y){return _X*_Y/std::__gcd(_X,_Y);}//最小公倍数
long long sigma(int i,int n,int x[]){long long ans=0;for(;i<=n;i++)ans+=x[i];return ans;}//∑
/*double a,b,c,k,h;
void one_getkb(double X1,double X2,double Y1,double Y2){k=(Y2-Y1)/(X2-X1);b=Y1-k*X1;}
void two_c1(double A,double B,double C){k=A,h=-B/2.0*A,b=C-B*B/4.0/A;}//y=ax^2+bx+c => y=k(x-h)^2+b
void two_c2(double K,double H,double B){a=K,b=-2.0*K*H,c=K*H*H+B;}//y=ax^2+bx+c <= y=k(x-h)^2+b
double two_getder_abc(double A,double B,double C){return B*B-4.0*A*C;}
double two_getder_kbh(double K,double H,double B){return 4.0*B;}
void two_getabc(double X_D,double y_D,double X,double Y){;}//含有顶点
void two_getabc(double X1,double X2,double X3,double Y1,double Y2,double Y3){;}
void two_getkhb(double X1,double X2,double X3,double Y1,double Y2,double Y3){;}
*老子不想写了
*/
double cir_area(double _R){return _R*_R*PI;}//圆
double cir_area(int _R){return (double)_R*(double)_R*PI;}//圆
double cir_per(double _R){return 2.0*_R*PI;}
double cir_per(double _R){return 2.0*(double)_R*PI;}
double cyl_size(double _R,double _H){return cir_area(_R)*_H;}//圆柱
double cyl_surf(double _R,double _H){return 2.0*cir_area(_R)+_H*cir_per(_R);}
double cone_size(double _R,double _H){return cyl_size(_R,_H)/3.0;}// 圆锥
double cone_surf(double _R,double _H){return cir_area(_R)+cir_per(_R)*sqrt(_R*_R+_H*_H)/2.0;}
double tai_size(double _r,double _R,double _H){return (_r*_r+_r*_R+_R*_R)*PI*_H/3.0;}//圆台
double tai_surf(double _r,double _R,double _H){return PI*(_r*_r+_R*_R+(_r+_R)*(_H*_H+(_R-_r)*(_R-_r)));}
double ball_size(double _R){return cir_area(_R)*_R*4.0/3.0;}//球体
double ball_surf(double _R){return cir_area(_R)*4.0;}
double cdeg(int deg){return ((double)(deg%180))*PI/180;}
double csin(int deg){return sin(cdeg(deg));}
double ccos(int deg){return cos(cdeg(deg));}
double ctan(int deg){return tan(cdeg(deg));}
double ccot(int deg){return 1/(tan(cdeg(deg)));}
double csec(int deg){return 1/(sin(cdeg(deg)));}
double ccsc(int deg){return 1/(sin(cdeg(deg)));}
//正弦定理不好表达,想要正弦定理的自己添加
double cos_law(double b,double c,int A){return sqrt(b*b+c*c-2.0*b*c*ccos(A));}
double SSS(double a,double b,double c){if(a+b>=c&&b+c>=a&&a+c>=b)return sqrt((a+b+c)/2.0*((a+b+c)/2.0-a)*((a+b+c)/2.0-b)*((a+b+c)/2.0-c));}//海伦公式
double SAS(double a,int B,double c){return a*csin(B)*c/2.0;}
double AAS(int A,int B,double a){
int C=180-A-B;
double b=a/csin(A)*csin(B);
return SAS(a,C,b);
}
double ASA(int A,double c,int B){
int C=180-A-B;
double a=c/csin(C)*csin(A);
return SAS(a,B,c);
}
double HL(double a,double c){
double b=sqrt(abs(c*c-a*a));
return SSS(a,b,c);
}
}
#endif
最后再说一下:
不得以任何形式转载!!!
这是一个C++库,包含数学常量、开根号、取小数、最小公倍数、几何形状面积周长计算等函数,如圆、圆柱、圆锥、圆台和球体的面积和体积。此外,还提供了线性方程、二次方程的相关计算以及三角函数和反三角函数。

被折叠的 条评论
为什么被折叠?



