基础数学
等差数列
等差数列 an 的通项公式:an = a1 + ( n - 1) *d。其中,d为公差,a1为起始项,n为第n项。
等差数列求和公式:前n项和公式为:Sn = na1 + n(n - 1) * d / 2
题目:等差数列 2,5,8,11,14。。。。(从 2 开始的 3 为公差的等差数列),输出求等差数列前n项和。
n = int(input())
print(int(n*2+n*(n-1)*3/2))
求最大公约(因)数
辗转相除法求最大公约数:
# 辗转相除法求最大公约数
a = 20
b = 12
def gcd(m, n):
# 递归结束条件:如果余数为0,则返回n
if m % n == 0:
return n
# 将规模缩小:递归求n和余数的最大公约数
return gcd(n, m % n)
gcd(a, b)
求最小公倍数
算法:(a,b最小公倍数) = a*b / (a,b最大公约数)
# 使用辗转相除法求最大公约数,然后再求最小公倍数
expression = input().split(' ')
a = int(expression[0])
b = int(expression[1])
# 将a设置为a,b中较大的数
if a < b:
a, b = b, a
# 辗转相除法求最大公约数
def gcd(m, n):
if m % n == 0:
return n
return gcd(n, m % n)
print(int(a*b / gcd(a, b)))