【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交

本文介绍了如何使用Python计算矩阵的幂次和两个矩形的交面积,涉及高精度乘法、矩阵乘法规则以及特殊情况处理。代码示例展示了矩阵幂运算的递归实现和矩形相交面积的判断过程。
摘要由CSDN通过智能技术生成

输出n!的准确值。

样例输入

10

样例输出

3628800

💓问题分析


模拟小学学过的乘法计算,只不过小学学的是先乘完后相加,我做的是边乘边相加。

在这里插入图片描述

竖式中上面的一行,乘以下面的一个数后得到一行,对下面得到的n行以高精度加法的思想进行相加,每次相加取到的个位就是结果中相应位置的数。为了便于计算我们一列表下标为0的位置作为个位。

💓代码实现


老规矩先上运行结果:

在这里插入图片描述

在这里插入图片描述

对列表进行运算,低位放在左边

def sumlist(ls1,ls2):

ans=[]

长的放在后面

if len(ls1)>len(ls2):

ls1,ls2=ls2,ls1

i=0

temp=0

while i<len(ls2) or temp!=0:

if i<len(ls1):

temp=ls1[i]+ls2[i]+temp

else:

temp=ls2[i]+temp

ans.append(temp%10)

temp//=10

i+=1

return ans

n=int(input())

ans=[0]*3000

ans[0]=1

for i in range(2,n+1):

j=0

temp=0

while j<len(ans) or temp!=0:

temp=ans[j]*i+temp

ans[j]=temp%10

temp//=10

j+=1

print(ans)

print(int(“”.join(map(str,ans[::-1]))))

矩阵幂运算🦚

=========================================================================


💓问题描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值