Python 数学练习题(二)

简介: Python 数学练习题

实例016:斐波那契

题目:斐波那契数列,又称黄金分割数列,

例如:1、1、2、3、5、8、13、21......,

请找出规律打印输出前20项的斐波那契数列。

方法一:
a, b = 0, 1
for i in range(20):
    a, b = b, a + b
    print(a)
方法二:
def a(x):
    if x == 1 or x == 2:
        return 1
    else:
        return a(x - 1) + a(x - 2)
for i in range(1, 21):
    print(a(i))

实例017:大衍数列

题目:大衍数列,来源于《乾坤谱》中对易传“大衍之数五十”的推论。

数列中的每一项,都代表太极衍生过程中,曾经经历过的两仪数量总和。

是中华传统文化中隐藏着的世界数学史上第一道数列题。

0、2、4、8、12、18、24、32、40、50......

通项式:(n*n-1)÷2 (n为奇数)、n*n÷2 (n为偶数)

a = []
for i in range(1, 11):
    if i % 2 == 1:
        a.append(int((i ** 2 - 1) / 2))
    else:
        a.append(int((i ** 2) / 2))
for i in a:
    print(i)

实例018:卢卡斯数

题目:卢卡斯数有很多性质和斐波那契数很相似。

如 Ln = Ln-1 + Ln-2,其中不同的是 L1 = 1、 L2 = 3。

所以卢卡斯数有:1, 3, 4, 7, 11, 18, 29, 47, 76, 123, ......

当中的平方数只有 1 和 4,

卢卡斯数列和斐波那契都是我们以后经常要用到的数列,

对于研究大盘以及个股时间上的结构有至关重要的作用。

a, b = 2, 1
for i in range(10):
    a, b = b, a + b
    print(a)

实例019:佩尔数列

题目:佩尔数的数列从0和1开始,从第3个数字开始每一个佩尔数都是前一项两倍再加上前二项。前10个佩尔数是:0, 1, 2, 5, 12, 29, 70, 169, 408, 985......

a, b = 1, 0
for i in range(10):
    a, b = b, 2 * b + a
    print(a)

实例020:帕多瓦数

题目:帕多瓦数列是由帕多瓦总结而出的。它的特点为从第四项开始,每一项都是前面2项与前面3项的和。帕多瓦数列是:1,1,1,2,2,3,4,5,7,9,12,16......

a, b, c = 0, 1, 1
for i in range(10):
    a, b, c = b, c, a + b
    print(a)

实例021:卡特兰数

题目:卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中的数列。

由比利时数学家欧仁·查理·卡塔兰 命名,通项式:(2n)!/((n+1)!*n!)

其前几项为 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862......

方法一:
import math
for i in range(10):
    a = math.factorial(i * 2)
    b = math.factorial(i + 1)
    c = math.factorial(i)
    d = int(a / (b * c))
    print(d)
方法二:
def a(n):
    x = 1
    for i in range(2, 2 * n + 1):
        x *= i
    return x
def b(n):
    y = 1
    for i in range(2, n + 2):
        y *= i
    return y
def c(n):
    z = 1
    for i in range(2, n + 1):
        z *= i
    return z
for i in range(10):
    num = int(a(i) / (b(i) * c(i)))
    print(num)

实例022:兴趣数字

题目:贝贝对数字中包含2、0、1、9的数字很感兴趣,求1~n中包含这几个数字之和是多少?

num_sum = 0
num = int(input('请您输入1~n的数字范围:'))
for x in range(1, num + 1):
    for y in ['2', '0', '1', '9']:
        if y in str(x):
            num_sum += x
            break
print(num_sum)

实例023:神秘数字Ⅰ

题目:有一个四位数,各位数字之和等于34,符合这个条件的四位数是?

num = []
for x in range(1000, 10000):
    ls = [int(y) for y in list(str(x))]
    if sum(ls) == 34:
        print(x)

实例024:神秘数字Ⅱ

题目:有一个四位数,个位数字与百位数字的和是12,十位数字与千位数字的和是9,

如果个位数字与百位数字互换,千位数字与十位数字互换,新数就比原数增加2376,求原数。

for i in range(1000, 10000):
    ls = list(str(i))
    if int(ls[1]) + int(ls[3]) == 12 and int(ls[0]) + int(ls[2]) == 9:
        ls[1], ls[3] = ls[3], ls[1]
        ls[0], ls[2] = ls[2], ls[0]
        num = int(''.join(ls))
        if num - i == 2376:
            print(i)

实例025:神秘数字Ⅲ

题目:由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成。

例如:210 x 6 = 1260   8 x 473 = 3784   27 x 81 = 2187

都符合要求。一共有多少种满足要求的算式。

num_count = 0
for x in range(1, 1000):
    for y in range(x, 1000):
        l1 = list(str(x * y))
        l2 = list(str(x) + str(y))
        l1.sort()
        l2.sort()
        num = 0
        for i in l1:
            if l2.count(i) == 1 and len(l1) == 4 and l1 == l2:
                num += 1
                if num == 4:
                    num_count += 1
                    print('第{}组 {} * {} = {} '.format(num_count, x, y, x * y))
            else:
                break

实例026:寻找数字

题目:203879 * 203879 = 41566646641,

仔细观察,203879 是个6位数,

它的每个数位上的数字都是不同的,

平方后的所有数位上都不出现组成它自身的数字。

具有这样特点的6位数还有一个,请你找出它。

for x in range(100000, 1000000):
    a = x ** 2
    b = 0
    for y in str(x):
        if y not in str(a) and str(x).count(y) == 1:
            b += 1
        else:
            break
    if b == 6:
        print(x)

实例027:猜猜年龄

题目:一位年轻人年龄的3次方是个4位数、年龄的4次方是个6位数。

这10个数字正好包含了从0到9这10个数字且每个数字都恰好出现1次。

”请你推算一下,他的年龄是多少?

for x in range(1, 30):
    if len(str(x ** 3)) == 4 and len(str(x ** 4)) == 6:
        num = str(x ** 3) + str(x ** 4)
        num_count = 0
        for y in [str(i) for i in range(10)]:
            if num.count(y) == 1:
                num_count += 1
                if num_count == 10:
                    print(x)

实例028:计算年龄

题目:贝贝从某年开始每年都举办一次生日party,

并且每次都要吹熄与年龄相同根数的蜡烛。

现在算起来,他一共吹熄了236根蜡烛。

请你计算她从多少岁开始过生日party?

她今年几岁?

for x in range(1, 100):
    age_sum = 0
    for y in range(x, 100 - x):
        age_sum += y
        if age_sum == 236:
            start_age = x
            now_age = y
            print('贝贝从{}岁开始过生日,贝贝今年{}岁。'.format(start_age, now_age))
        elif age_sum > 236:
            break

实例029:对折面条

题目:一根高筋拉面,中间切一刀,可以得到2根面条。

如果先对折1次,中间切一刀,可以得到3根面条。

如果连续对折2次,中间切一刀,可以得到5根面条。

那么,连续对折10次,中间切一刀,会得到多少根面条呢?

noodles_count = 0
for i in range(1, 11):
    noodles_count = 2 ** i + 1
print('第10次对折得到{}根面条'.format(noodles_count))

实例030:堆垒煤球

题目:有一堆煤球,堆成三角棱锥形。具体:

第一层放1个,

第二层3个(排列成三角形),

第三层6个(排列成三角形),

第四层10个(排列成三角形),

如果一共有100层,共有多少个煤球?

floor_count = 0
sum_count = 0
for i in range(1, 101):
    floor_count += i
    sum_count += floor_count
print('第{}层需要{}个煤球,1-100层共有煤球{}个'.format(i, floor_count, sum_count))
相关文章
|
16天前
|
数据可视化 编译器 Python
Manim:数学可视化的强大工具 | python小知识
Manim(Manim Community Edition)是由3Blue1Brown的Grant Sanderson开发的数学动画引擎,专为数学和科学可视化设计。它结合了Python的灵活性与LaTeX的精确性,支持多领域的内容展示,能生成清晰、精确的数学动画,广泛应用于教育视频制作。安装简单,入门容易,适合教育工作者和编程爱好者使用。
79 7
|
6月前
|
存储 算法 数据挖掘
python 数学+减治、下一个排列法、DFS回溯法实现:第 k 个排列【LeetCode 题目 60】
python 数学+减治、下一个排列法、DFS回溯法实现:第 k 个排列【LeetCode 题目 60】
|
2月前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
73 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
2月前
|
机器学习/深度学习 算法 C语言
【Python】Math--数学函数(详细附解析~)
【Python】Math--数学函数(详细附解析~)
|
2月前
|
iOS开发 MacOS Python
Python编程-macOS系统数学符号快捷键录入并生成csv文件转换为excel文件
Python编程-macOS系统数学符号快捷键录入并生成csv文件转换为excel文件
35 0
|
5月前
|
自然语言处理 程序员 编译器
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
|
7月前
|
Python 计算机视觉
2024年Python最新利用python进行数学公式识别_python 识别图片中的数学公式,2024年最新字节跳动技术岗位面试
2024年Python最新利用python进行数学公式识别_python 识别图片中的数学公式,2024年最新字节跳动技术岗位面试
2024年Python最新利用python进行数学公式识别_python 识别图片中的数学公式,2024年最新字节跳动技术岗位面试
|
6月前
|
Python
python练习题
python练习题
|
7月前
|
消息中间件 Kafka Python
Python 数学应用(四)(3)
Python 数学应用(四)
55 5
|
7月前
|
分布式计算 调度 异构计算
Python 数学应用(四)(4)
Python 数学应用(四)
418 4