当前位置: 首页 > news >正文

【蓝桥杯】24省赛:数字串个数

在这里插入图片描述

思路

本质是组合数学问题:
9个数字组成10000位数字有9**10000可能
不包括3的可能8**10000
不包括7的可能8**10000
既不包括3也不包括77**10000
根据容斥原理:结果为
9 ∗ ∗ 10000 − 8 ∗ ∗ 10000 − 8 ∗ ∗ 10000 + 7 ∗ ∗ 10000 9**10000 - 8**10000 - 8**10000 + 7**10000 910000810000810000+710000

代码

这是道填空题,只需填入结果即可。但是直接运行会爆栈。需要快速幂优化。
!! 注意mod=int(1e9+7)必须将浮点型转为整型,否则会出错。

import os
import sys

def ksm(a,n,mod):
  if n==0:return 1
  if n==1:return a
  res = ksm(a,n//2,mod)
  res = res*res % mod
  if n%2==1:
    res = res*a % mod
  return res

mod = int(1e9+7)
# 10000
a = ksm(9,10000,mod)
b = ksm(8,10000,mod)
c = ksm(7,10000,mod)
# an = 9**10000 - 8**10000 - 8**10000 + 7**10000
an = (a - 2 * b + c) % mod
print(an)

相关文章:

  • 如何在实际应用中测量和调整直线导轨的预紧力?
  • c++stl之unordered-map以及set
  • CentOS系统中使用sendmail
  • Python爬虫:playwright的使用
  • 【数据结构】数据结构,算法 概念
  • @SpringBootApplication
  • 9.贪心算法
  • 每日一题---单词搜索(深搜)
  • 本地化部署Deepseek关于Ollama 安全加固方案(新手易学)
  • 基于SpringBoot实现旅游酒店平台功能十六
  • element 的tab怎么动态根据参数值添加一个vue页面
  • UE4-UE5虚幻引擎,前置学习一--Console日志输出经常崩溃,有什么好的解决办法
  • C#的简单工厂模式、工厂方法模式、抽象工厂模式
  • C语言中关于数组和指针的重点知识
  • Hive SQL 精进系列:PERCENTILE_APPROX 搞定分位数
  • Android Dagger2 框架辅助工具模块深度剖析(六)
  • 运维工具推荐 -- 宝塔面板:一键部署服务器
  • Blender-MCP服务源码5-BlenderSocket插件安装
  • SOME/IP:用Python实现协议订阅、Offer、订阅ACK与报文接收
  • 《Python实战进阶》No24: PyAutoGUI 实现桌面自动化
  • 王毅谈金砖国家开展斡旋调解的经验和独特优势
  • 证监会副主席王建军被查
  • 美参议院通过新任美国驻华大使任命,外交部回应
  • 是否进行了及时有效处置?伤者情况如何?辽阳市相关负责人就饭店火灾事故答问
  • 黄宾虹诞辰160周年|一次宾翁精品的大集结
  • 浙商银行一季度净赚超59亿微增0.61%,非息净收入降逾22%