又双叒叕-lib.h

没啥好说的,直接上代码

// <lib> -*- C++ -*-

// Copyright (C) csdn.net-某某老六

//  This is a C++ Library header.

#ifndef math666
#define math666
#include <math.h>
#include <algorithm>
namespace math666
{
/* DO NOT EDIT ! */
#define mFILE_VERSION	"1.0.1.0"
#define mFILE_DESCRIPTION	"Developed using the Dev-C++ IDE"
#define mLEGAL_COPYRIGHT	    "Copyright (C) csdn.net-某某老六"
#define mORIGINAL_FILENAME	"lib"
#define mPRODUCT_VERSION	"1.0.1.0"
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;}//∑ 
struct func//函数 
{
double k;
double b;
double h;
double a;
double c;
};
func one_getkb(double X1,double X2,double Y1,double Y2){
func kb;
kb.k=(Y2-Y1)/(X2-X1);
kb.b=Y1-kb.k*X1;
return kb;
}
func two_c1(double A,double B,double C){
func kbh;
kbh.k=A,kbh.h=-B/2.0*A,kbh.b=C-B*B/4.0/A;
return kbh;
}//y=ax^2+bx+c => y=k(x-h)^2+b 
func two_c2(double K,double H,double B){
func abc;
abc.a=K,abc.b=-2.0*K*H,abc.c=K*H*H+B;
return abc;
}//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;}
func two_getabc(double X_D,double Y_D,double X,double Y){
func abc;
abc.a=(Y-Y_D)/(X*X-X_D*X_D);
abc.b=-2.0*a*X_D;
abc.c=Y_D-a*X_D*X_D;
return abc;
}//含有顶点 
func two_getkbh(double X_D,double Y_D,double X,double Y){
func abc2,kbh;
abc2=two_getabc(X_D,Y_D,X,Y);
kbh=two_c1(abc2.a,abc2.b,abc2.c);
return kbh;
}
/*
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 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 sin_law(double a,int A,int B){return a/csin(A)*csin(B);}
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
//注:不要更改任何代码(分行也算)!更改代码可能影响准确率! 

最后再说一下:

不得以任何形式转载!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值