用C 寫數學(一) 基本函式

2021-10-03 12:47:48 字數 2717 閱讀 5220

用c++寫數學很有用,寫幾個函式和類,可以很快解決數學問題。

今天帶來幾個普通的函式:

1.判斷float是否為整數

float為浮點型,但也可以是整數(如3.0),為判斷是否為整數,這個函式可能會有一點用處:

bool

is_float

(float a)

很簡單,拿它去減它的整數部分不為0就是小數。

以及

bool

is_integer

(float a)

#define is_int is_integer

2.判斷是否為質數(素數)

這個很常見,隨便例舉一種方法:

bool

is_prime

(int a)

if(i == a)

return

true

;else

return

false

;}

3.判斷是否為平方數
bool

is_square

(int a)

4.獲取整數部分/小數部分
int

get_int

(float f)

float

get_deci

(float f)

//獲取它的小數部分

5.比較數字大小

其實也沒必要,許多標準庫都有max min.

template

<

typename _t>

_t& cjzapi larger

(_t& a,_t& b)

template

<

typename _t>

_t& cjzapi smaller

(_t& a,_t& b)

#define bigger larger

6.平方/次方

這個cmath是有的,只是稍微添一點兒.

#ifndef pow2

//#define pow2(x) x*x

template

<

typename _t>

_t pow2

(_t x)

#endif

template

<

typename _t>

_t pow3

(_t x)

#define square pow2

#define cube pow3

//***多次方就用pow函式就可以了。***//

7.平方根/次方根/多次方根
#define root sqrt

#define root2 root

template

<

typename _t>

double

root3

(_t sth)

template

<

typename _t>

double

root4

(_t sth)

template

<

typename _tp,

typename _up=

unsigned

>

double

rootn

(_tp sth,_up ntimes)

利用了那個公式。

8.三角面積

template

<

typename _t>

double

area3

(_t a , _t h)

//三角面積

template

<

typename _t>

double

area3

(_t s1 , _t s2 , _t s3)

//三角面積: 海**式

//秦九昭公式也可以,因為兩者可以轉化。

9.兩點距離
//point需包含windows.h(windef.h)

double

distance

(point &a,point &b)

//兩點之間的距離

double

distanceo

(point &pt)

//離原點的距離

template

<

typename _t1,

typename _t2>

//overloading

double

distance

(_t1 x1_or_y1 , _t2 x2_or_y2)

//在橫縱直線上

template

<

typename _t1,

typename _t2>

double

distanceo

(_t1 x , _t2 y)

附帶

double

area3

(point &a,point &b,point &c)

//三角面積:座標系中

如何將文章寫的像數學一樣簡潔完備

牛頓是個天才,但是開始也不會組織材料,據說的老師曾經指出他的問題,並且建議他認真看看 幾何原本 沒想到這個天才聽進去了,所以 自然哲學之數學原理 看起來很像 幾何原本 表達能力的重要性如此可見一斑。unix很偉大,但是有kernighan,richard stevens,m.j.bach這些頂尖的技...

高等數學一 函式與極限一 對映與函式知識點總結

一.對映 1.對映 兩個非空集合,存在唯一法則,使得1號集合中元素與2號集合中元素按照該唯一法則,有著唯一對應的元素。2.單射 2號集合中有唯一的元素關於唯一法則與1號集合中唯一的元素一一對應。滿足單射,也意味著存在逆對映。3.滿射 2號集合中任何元素在1號集合中都存在對應的元素。4.雙射 滿足單射...

高等數學一 函式與極限二 例4的理解

思路 該證明通過假設該數列存在極限,來套用極限的定義。最後證明該數列存在極限的話,是不符合極限定義的來反證這個數列發散。xn顯而易見的只能取1,和 1。該證明取任意小的數為1 2。所以可以得出,該數列的n n的任意一項,根據數列極限的幾何意義,都應該落在乙個長度為1的開區間內。但是,1和 1的長度,...