本文主要是介绍python-100-days,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python-100-days部分代码实现记录
- 说明
- 1.斐波那契数列
- 2.找出10000以内的完美数
- 3.输出100以内所有的素数。
说明
你好!个人代码记录,欢迎指正。持续更新中…
1.斐波那契数列
题目要求:生成斐波那契数列的前20个数。
说明:斐波那契数列(Fibonacci sequence),又称黄金分割数列,是意大利数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)在《计算之书》中提出一个在理想假设条件下兔子成长率的问题而引入的数列,所以这个数列也被戏称为"兔子数列"。斐波那契数列的特点是数列的前两个数都是1,从第三个数开始,每个数都是它前面两个数的和,形如:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …。斐波那契数列在现代物理、准晶体结构、化学等领域都有直接的应用。
个人代码实现:
f_list = [1,1]
for i in range(2,20):next = f_list[i-1]+f_list[i-2]f_list.append(next)
print(f_list)
作者给的代码参考:
a = 0
b = 1
for _ in range(20):a, b = b, a + bprint(a, end=' ')
2.找出10000以内的完美数
说明:完美数又称为完全数或完备数,它的所有的真因子(即除了自身以外的因子)的和(即因子函数)恰好等于它本身。例如:6( 6 = 1 + 2 + 3 6=1+2+3 6=1+2+3)和28( 28 = 1 + 2 + 4 + 7 + 14 28=1+2+4+7+14 28=1+2+4+7+14)就是完美数。完美数有很多神奇的特性,有兴趣的可以自行了解。
个人代码实现:(暴力求解)
perfect_number = 0
perfect_list = []
for i in range(2,10001):for j in range(1,i):if i%j ==0:perfect_number += jif perfect_number == i:perfect_list.append(i)perfect_number = 0
print(perfect_list)
作者给的代码参考:
import mathfor num in range(2, 10000):result = 0for factor in range(1, int(math.sqrt(num)) + 1):if num % factor == 0:result += factorif factor > 1 and num // factor != factor:result += num // factorif result == num:print(num)
3.输出100以内所有的素数。
说明:素数指的是只能被1和自身整除的正整数(不包括1)。
个人代码实现:
import mathprime_number =[]
for x in range(2,101):a = int(math.sqrt(x))is_prime = Truefor y in range(2,a+1):if x%y == 0:is_prime = Falsebreakif is_prime:prime_number.append(x)
print(prime_number)
作者给的代码参考:
import mathfor num in range(2, 100):is_prime = Truefor factor in range(2, int(math.sqrt(num)) + 1):if num % factor == 0:is_prime = Falsebreakif is_prime:print(num, end=' ')
这篇关于python-100-days的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!