2022年 11月 4日

【Python数列、数列和问题】

1.e的计算可用如下表达式展开,试计算e,精确到小数点后6位小数

代码

  1. s = 0
  2. item = 1
  3. jc = 1
  4. n = 0
  5. while abs(item) > 1e-6:
  6. s = s + item
  7. n = n + 1
  8. jc = jc * n
  9. item = 1/jc
  10. print("{:.6f}".format(s))

输出结果:

2.718282

2.求π的近似值,精确到小数点后6位小数

  1. s = 0
  2. item = 1
  3. flag = 1
  4. n = 0
  5. while abs(item) > 1e-6:
  6. s = s + item
  7. flag = -flag
  8. n = n + 1
  9. item = flag/(2*n+1)
  10. print("{:.6f}".format(s*4))

输出结果

3.141591

3.求sinx的近似值,精确到小数点后6位小数

  1. import math
  2. s = 0
  3. x = eval(input())
  4. item = x
  5. flag = 1
  6. n = 0
  7. while abs(item) > 1e-6:
  8. s = s + item
  9. flag = -flag
  10. n = n + 1
  11. item = flag*math.pow(x, 2*n+1)/math.factorial(2*n+1)
  12. print("{:.6f}".format(s))

4.求斐波那契数列的第n项:1,1,2,3,5,8,……

从第三项开始,每一项等于前面两项的和

代码

  1. n = eval(input())
  2. a = b = 1
  3. i = 2
  4. if n <= 2:
  5. print(a)
  6. else:
  7. while i <= n:
  8. item = a+b
  9. a = b
  10. b = item
  11. i += 1
  12. print(a)

5.求佩尔数列的第n项。佩尔数列是一个整数数列。它的第一项为0,第二项为1,第3项是第2项的2倍再加上第1项,第4项是第3项的2倍再加上第2项,……。最初几个佩尔数是:0,1,2,5,12,29,70,169, 408, 985, 2378……

代码

  1. n = eval(input())
  2. a, b = 0, 1
  3. i = 2
  4. if n == 1:
  5. print(a)
  6. elif n == 2:
  7. print(b)
  8. else:
  9. while i <= n:
  10. item = a+2*b
  11. a = b
  12. b = item
  13. i += 1
  14. print(a)

持续更新~~~