写点什么

Python 数学练习题(一)

作者:漫步桔田
  • 2023-02-26
    北京
  • 本文字数:1985 字

    阅读完需:约 7 分钟

Python 数学练习题(一)

实例 001:数字求和

题目:请你编写程序计算出 1-m 的和。例如:1+2+3=6 或 1+3+5=9

num = 0m = int(input('请你输入终点数字:'))n = int(input('请你输入间隔数字:'))for i in range(1, m + 1, n):    num += iprint(num)
复制代码

实例 002:寻找素数

题目:素数又称质数是指在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数

例如:2、3、5、7、11、13、17......请你找出 100 以内的素数。

for x in range(2, 100):    for y in range(2, x):        if x % y == 0:            break    else:        print(x)
复制代码

实例 003:数字阶乘

题目:请你输入一个正整数,并返回该数字的阶乘是多少?

方法一:
n = int(input('请您输入一个正整数:')sum = 1for i in range(1,n+1): sum*=iprint(sum)
方法二:
n = int(input('请您输入一个正整数:'))def a(x): if x == 1: return 1 return x * a(x-1) print(a(n))
复制代码

实例 004:水仙花数

题目:水仙花数是指一个三位数,

其各位数字 3 次幂和等于该数本身。

例如:153=1^3+5^3+3^3。

for i in range(100, 1000):    x = i // 100    y = i // 10 % 10    z = i % 10    if x ** 3 + y ** 3 + z ** 3 ==i:        print(i)
复制代码

实例 005:玫瑰花数

题目:玫瑰花数是指一个四位数,

其各位数字 4 次幂和等于该数本身。

例如:1634=1^4+6^4+3^4+4^4。

for i in range(1000, 10000):    a = i // 1000    b = i % 1000 // 100    c = i % 100 // 10    d = i % 10    if a ** 4 + b ** 4 + c ** 4 + d ** 4 == i:        print(i)
复制代码

实例 006:马匹驮货

题目:100 匹马驮 100 担货,大马一匹驮 3 担,

中马一匹驮 2 担,小马两匹驮 1 担,

计算大、中、小马各有多少组合?

for x in range(1, 100):    for y in range(1, 100):        z = 100 - x - y        if 3 * x + 2 * y + z / 2 == 100:            print(x, y, z)
复制代码

实例 007:神秘数字

题目:请你找出 200-300 之间的三位数,各位之积为 42,各位之和为 12 的神秘数字是多少?

for i in range(200, 300):    x = x = i // 100    y = y = i // 10 % 10    z = z = i % 10    if x * y * z == 42 and x + y + z == 12:        print(i)
复制代码

实例 008:卡普雷卡

题目:数学家卡普雷卡偶然发现铁路旁的里程碑“3025”被雷击得一分为二:

变成 30 与 25,他敏锐地注意到:(30+25)^2=3025。请你找出 10000 以内的四位卡普雷卡数。

for i in range(1000, 10000):    a = int(str(i)[:2])    b = int(str(i)[2:])    if (a + b) ** 2 == i:        print(i)
复制代码

实例 009:幸运盒子

题目:一个同学抽了一个幸运数字宝盒,工作人员给出了如下提示:

是 100 以内的奇数、能被 7 整除、十位数字是个位数字的 2 倍

编程求这个数字可能是多少?

for i in range(1, 100):    if i % 2 == 1 and i % 7 == 0 and (i // 10) / (i % 10) == 2:        print(i)
复制代码

实例 010:幸运数字

题目:请你按题目要求找出 1—1000 之间的完全幸运数要求如下:

该数是 6 的倍数、末尾是 6、左右对称。

for i in range(1, 1000):    if i % 6 == 0 and str(i) == str(i)[::-1] and str(i)[-1] == '6':        print(i)
复制代码

实例 011:鸡兔同笼

题目:定义一个函数实现输入鸡兔总头数(h)和总脚数 f,

计算当鸡数 c 和兔数 r,如数据不合理,输出无解。

def aaa(h, f):    b = f / 2 - h    a = h - b    if a == int(a) or b == int(b):        print('鸡有{}只,兔有{}只'.format(int(a), int(b)))    else:        print('无解')
aaa(21, 55)aaa(21, 66)
复制代码

实例 012:米粒棋盘

题目:在棋盘的第 1 格放 1 粒大米,第 2 格放 2 粒,第 3 格放 4 粒,

之后的每一格中的米粒数目都是相邻前一格的两倍,

一直放到最后的第 64 格,请你计算第 64 各中应放多少米?

for i in range(64):    x = 2 ** iprint('第64格应放米{}粒'.format(x))
复制代码

实例 013:自守数字

题目:自守数是指一个数的平方的尾数等于该数自身的自然数。

例如:6^2=36、25^2 =625、76^2=5776 求 1000 以内的自守数。

for i in range(1,1000):    if str(i**2)[-len(str(i)):]==str(i):        print(i)
复制代码

实例 014:等差数和

题目:编写一个等差数列,通用式为:S=n(a1+an)/2

n 为数字个数,a1 为开始数字,an 为结尾数字。

a = int(input('请你输入开始数字是:'))b = int(input('请你输入结尾数字是:'))c = int(input('请你输入几个数字和:'))s = int(c * (a + b) / 2)print(s)
复制代码

实例 015:等比数和

题目:编写一个等比数列,通用式为:S=a1(1-q**n)/(1-q)

n 为数字个数,a1 为开始数字,q 为公比数字(q≠1)。

a = int(input('请你输入开始数字是:'))q = int(input('请你输入等比公比是:'))n = int(input('请你输入几个数字和:'))if q == 1:    print('输入有误,q≠1')else:    s = int(a * (1 - q ** n) / (1 - q))    print(s)
复制代码



CSDN 博主「漫步桔田」原文链接:https://blog.csdn.net/u013157570/article/details/121641765

发布于: 刚刚阅读数: 4
用户头像

漫步桔田

关注

编程届一名小学生,热心分享编程知识。 2022-08-25 加入

阿里云社区专家博主、CSDN领域新星创作者。

评论

发布
暂无评论
Python 数学练习题(一)_漫步桔田_InfoQ写作社区