C语言大数阶乘取余,python中math模块常用函数介绍 取模(取余)取绝对值 求阶乘 求最大公约数最小公倍数 取对数 取根号 取幂(取次方) 取整函数 三角函数与反三角函数...

前提:import math

两个常用常量

e = 2.718281828459045

pi = 3.141592653589793

>>> import math

>>> math.e

2.718281828459045

>>> math.pi

3.141592653589793

取模(取余)

fmod(x,y)返回x%y

例如:

>>> import math

>>> math.fmod(5,2)

1.0

>>> math.fmod(6,2)

0.0

取绝对值

fabs(x)返回float x的绝对值。

例如:

>>> import math

>>> math.fabs(-1.25)

1.25

>>> math.fabs(5)

5.0

求阶乘

factorial(x) 返回x!。如果x为负数或非整数,则引发ValueError。

例如:

>>> import math

>>> math.factorial(5)

120

>>> math.factorial(-5)

Traceback (most recent call last):

File "", line 1, in math.factorial(-5)

ValueError: factorial() not defined for negative values

>>> math.factorial(5.1)

Traceback (most recent call last):

File "", line 1, in math.factorial(5.1)

ValueError: factorial() only accepts integral values

最大公约数与最小公倍数

gcd(x, y)返回(x,y)的最大公约数。(注:gcd()不属于math模块,如要使用需要from fractions import gcd)

最小公倍数=(x*y)/gcd(x, y)

例如:

>>> from fractions import gcd

>>> gcd(6,9)

3

>>> gcd(50,60)

10

>>> 6*9/gcd(6,9)

18

求欧几里得距离

hypot(x,y)返回欧几里德距离sqrt(x * x + y * y)。

例如:

>>> import math

>>> math.hypot(3,4)

5.0

>>> math.hypot(5,10)

11.180339887498949

对数

log(x [,base])将x的对数返回给定的基数。如果未指定基数,则返回x的自然对数(基数e)。

log10(x)返回x的基数10的对数。

log1p(x)返回1 + x(基数e)的自然对数。

exp(x)   返回自然对数e的x次方。

expm1(x)返回exp(x)-1。该函数避免了直接exp(x)-1所涉及的精度损失。

例如:

>>> import math

>>> math.log

>>> math.log(4,2)

2.0

>>> math.log(5)

1.6094379124341003

>>> math.log(5,math.e)

1.6094379124341003

>>> math.log10(100)

2.0

>>> math.log1p(5)

1.791759469228055

>>> math.log1p(4)

1.6094379124341003

>>> math.log(5)

1.6094379124341003

>>> math.exp(2)

7.38905609893065

>>> math.e**2

7.3890560989306495

>>> math.expm1(2)

6.38905609893065

取根号 取幂(取次方)

pow(x,y)返回x ** y(x的y次方)。

pow(x,1.0/y)   返回对x开y次根号,即y次根号下的x的值。

sqrt(x)返回x的平方根。

例如:

>>> import math

>>> math.pow(2,3)

8.0

>>> math.pow(8,1.0/3)

2.0

>>> math.sqrt(4)

2.0

取整函数(点击链接)

三角函数与反三角函数(点击链接)

其他一些函数

copysign(x,y)以y的符号返回x。

>>> math.copysign (2,-1)

-2.0

fsum(iterable)返回迭代中的和值。

>>> nums=[1,2,3,4,5,6,7,8,9]

>>> math.fsum (nums)

45.0

isinf(x)检查浮点数x是否为无穷大,是返回True,否返回False。

isnan(x)检查float x是否不是数字,是返回True,否返回False。

>>> inf=float('inf')

>>> math.isinf(inf)

True

>>> math.isinf(1.1)

False

>>> math.isnan(1)

False

>>> math.isnan(1.25)

False

其中 float('inf') 表示正无穷

-float('inf') 或 float('-inf') 表示负无穷

其中,inf 均可以写成 Inf

ldexp(x,i)返回x *(2 ** i)。

>>> math.ldexp (5,3)

40.0

modf(x)返回x的小数和整数部分。两个结果都带有x的符号并且是浮点数。

>>> math.modf(2.5)

(0.5, 2.0)

>>> math.modf(-2.5)

(-0.5, -2.0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值