蓝桥杯2025.5.23每日一题-儿童数

儿童数

若一个正整数 n n n 满足 n 61 n^{61} n61 整除 2024 ! 2024! 2024!,即 2024 ! 2024! 2024! 除以 n 61 n^{61} n61 的余数为 0 0 0,则称 n n n 为儿童数。

现在,请你计算在区间 [ 1 , + ∞ ) [1, +\infty) [1,+∞) 内一共有多少个儿童数。

前置知识

  1. 勒让德公式

    v p ( n ! ) = ∑ k = 1 ∞ ⌊ n p k ⌋ v_p(n!) = \sum_{k=1}^{\infty} \left\lfloor \frac{n}{p^k} \right\rfloor vp(n!)=k=1∑∞⌊pkn⌋

    可以用这个公式计算 n ! n! n! 的质因数 p p p 的次数。

  2. 整除的充要条件

    设 a a a 和 b b b 是正整数,且它们的质因数分解为:

    a = p 1 α 1 p 2 α 2 ⋯ p k α k , b = p 1 β 1 p 2 β 2 ⋯ p k β k a = p_1^{\alpha_1} p_2^{\alpha_2} \cdots p_k^{\alpha_k}, \quad b = p_1^{\beta_1} p_2^{\beta_2} \cdots p_k^{\beta_k} a=p1α1p2α2⋯pkαk,b=p1β1p2β2⋯pkβk

    (若某个质数 p i p_i pi 不在 a a a 或 b b b 的分解中,则对应的指数 α i \alpha_i αi 或 β i \beta_i βi 视为 0 0 0。)

    整除的充要条件

    a ∣ b a \mid b a∣b 当且仅当 ∀ i ∈ { 1 , 2 , ... , k } , α i ≤ β i \forall i \in \{1, 2, \dots, k\}, \alpha_i \leq \beta_i ∀i∈{1,2,...,k},αi≤βi。

    a a a 的所有质因数的幂次都不超过 b b b 的对应幂次

所以只要分解 2024 ! 2024! 2024!,然后要满足每个质因数的幂次 p p p 满足 61 p ≤ e 61p \leq e 61p≤e。故最终答案为 e / / 61 + 1 e // 61 + 1 e//61+1。

py 复制代码
def is_prime(x):
    if x<=1:
        return  False
    for i in range(2,x):
        if x%i==0:
            return  False
    return  True

d={}
for i in range(2,2024):
    if is_prime(i):
        cnt=0
        j=i
        while j<=2024:
            cnt+=2024//j
            j*=i
        d[i]=cnt

# print(d)
ans=1
for x,cnt in d.items():
    if cnt>=61:
        ans*=(cnt//61+1)
print(ans)
相关推荐
神奇元创32 分钟前
商用级光路加速卡:大模型推理的极速落地方案
python·神经网络·fpga开发·dsp开发
运筹vivo@1 小时前
Python ContextVar 底层机制与内存模型拆解
前端·数据库·python
大白菜和MySQL1 小时前
java应用排查高线程
java·python
嵌入式协会20240721 小时前
(已解决)MinIO python 获取预签名出现forbidden、errornetwork等错误
java·开发语言·python
宸丶一1 小时前
Day 14:任务追踪 - 让 Agent 拥有项目管理能力
开发语言·python
skylar02 小时前
小白1分钟安装flash-attn
开发语言·python
JustNow_Man2 小时前
psmux快捷键
人工智能·python
默子昂2 小时前
ollama 自定义ui
开发语言·python·ui
abcy0712132 小时前
Python中使用FastAPI和HDFS进行异步文件上传
python·fastapi