1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

核心算法

  1. 埃拉托斯特尼筛 先在 [0..N][0..N][0..N] 上做一次筛,得到布尔数组 isPrime[x] 是否为素数。 复杂度 O(Nlog⁡log⁡N)O(N\log\log N)O(NloglogN),空间 O(N)O(N)O(N)。

  2. 枚举切分点(用 10 的幂)

P3591.第1题-素数拆分

    1000ms Tried: 53 Accepted: 22 Difficulty: 3 所属公司 : 得物
    算法与标签>数学

题目内容

小明最近刚刚学习完素数的概念,老师出了一个课后练习。问题是如果将一个 n(n>=2)n(n>=2)n(n>=2) 位的素数拆分成两部分,其中高 mmm 位是一个素数,低 (n−m)(n-m)(n−m) 位也是一个素数,那么这个素数称为可拆分素数。

例如 113113113 是一个素数,它可以拆成两部分,高两位 111111 是一个素数,低一位 333 也是一个素数,因此 113113113 是一个可拆分素数。

现在输入两个正整数 MMM 和 N(M<N)N(M< N)N(M<N) ,请编写一个程序计算 MMM 到 NNN 之间有多少个可拆分素数(可以包含 MMM 和 NNN ) 。

输入描述

输入两个正整数 MMM 和 N(10<=M<N<=106)N(10<=M< N<=10^6)N(10<=M<N<=106) ,数字间空格隔开。

输出描述

输出 MMM 和 NNN 之间可拆分素数的个数(包含 MMM 和 NNN ) 。

样例1

输入

10 100

输出

4

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 1, 39ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?