题解 P2529【[SHOI2001]击鼓传花】
提供一种不一样的思路。
题意
求 中最后一位非 数,。
思路
显然不能暴力。
引入符号 即 中不包含因数 的项的乘积。
设 表示 中最后一位,显然,。
对于 ,我们发现 ,发现没有?循环节 。
我们可以先处理出 的 ,然后讨论一下。
即 的最后一位非 数。
又十分显然 的最后一位非 数。
考虑 与 的关系。
经过找规律, 循环。
又 循环,容易计算,所以 的最后一位容易计算。
所以 就能计算了。
因为要高精度,于是我用了 Python
实现。
Code:
a=[6,2,6,4,4,4,8,4,6,6]
sm=[1,2,6,4,2,2,4,2,8,8]
t=[2,6,8,4]
def geta(n):
if n==1:
return 1
else:
return a[(n-1)%10]
def gets(n):
last=geta(n)
id=t.index(last)
return t[(id+(n//5))%4]
def f(n):
if n<=10:
return sm[n-1]
else:
return (gets(n)*f(n//5))%10
def testt(n):
s=1
for i in range(2,n+1):
s=s*i
return s
fl=True
while fl:
try:
n=int(input())
print(f(n))
except:
fl=False
再见,qwq~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现