python-题库篇-数学

求最大公约数和最小公倍数

两个数的最大公约数是两个数的公共因子中最大的那个数;两个数的最小公倍数
则是能够同时被两个数整除的最小的那个数。

输入:(120 和 60 是通过键盘输⼊的)
x = 120
y = 60
输出:
60 和 120 的最大公约数是:60
60 和 120 的最小公倍数是:120

答案:

x = int(input('x = '))
y = int(input('y = '))

# 如果 x 大于 y 就交换 x 和 y 的值
if x > y:
	# 通过下面的操作将 y 的值赋给 x, 将 x 的值赋给 y
	temp = y
	y = x
	x = temp
	# 从两个数中较的数开始做递减的循环
for factor in range(x, 0, -1):
	if x % factor == 0 and y % factor == 0:
		print('{}和{}的最大公约数是:{}' .format(x, y, factor))
		print('{}和{}的最小公倍数是:{}' .format(x, y, x * y // factor))
		break

在这里插入图片描述

斐波那契数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……。

在数学上,费波那契数列是以递归的方法来定义:
F 1 F_1 F1 = 1 (n=1)
F n F_n Fn = F[n-1]+ F[n-2] (n=>2)

输入:(数字 10 是通过键盘输⼊的)
请输入需要打印的斐波那契数列的数据个数(从 1 开始):10
输出:(每一个数据项之间用空格)
1 1 2 3 5 8 13 21 34 55
答案:

def fib(n):
	a, b = 1, 1
	#通过循环来打印数据
	for i in range(n):
		print(a,end = " ")
		temp = a
		a = b
		b = temp+b
num = int(input("请输入需要打印的斐波那数列的数据个数(从 1 开始):"))
fib(num)

在这里插入图片描述

求和运算

求 s=a+aa+aaa+aaaa+aa…a 的值,其中 a 是一个数字。例如:
2+22+222+2222+22222(此时共 有 5 个数相加),几个数相加由键盘控制。
输入:
a = 4
n = 5

输出:
4
44
444
4444
44444
前 5 个数的和为:49380
答案:

Tn = 0
Sn = []
a = int(input('a = '))
n = int(input('n = '))

for count in range(n):
	Tn = Tn + a
	a = a * 10
	Sn.append(Tn)
	print(Tn)
print("前{}个数的和为:{}".format(n, sum(Sn)))

在这里插入图片描述

求前n阶乘的和

比如求 1+2!+3!+…+20!的和。
输入:(不要输入太大的 n 防止数据太大,电脑卡死)
n = 20
输出:
前 20 阶乘的和是:2561327494111820313

答案:

n = int(input("n = "))
s = 0
t = 1
for i in range(1,n+1):
	t *= i
	s += t
print ("前{}阶乘的和是:{}" .format(n,s))

在这里插入图片描述

求年龄

有 5 个人坐在一起,问第五个⼈人多少岁?他说比第 4 个人大 2 岁。问第 4 个人岁数,他说比第 3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2个人,说比第一个人大两岁。最后问第一个人,他说是 10 岁。请问第五个人多大?

输入:无

输出:第五个人的年龄

答案:

def age(n):
	if n == 1:
		c = 10
	else:
		c = age(n - 1) + 2
	return c
print ("第五个人的年龄是:",age(5))

在这里插入图片描述

  • 40
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fo安方

觉得俺的文章还行,感谢打赏,爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值