蓝桥杯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)
相关推荐
Eiceblue10 分钟前
通过Python 在Excel工作表中轻松插入行、列
开发语言·vscode·python·pycharm·excel
江畔柳前堤24 分钟前
PyQt学习系列11-综合项目:多语言文件管理器
开发语言·网络·python·学习·django·pyqt
眠修32 分钟前
Python 实现web请求与响应
开发语言·python
鸡鸭扣39 分钟前
leetcode hot100:十四、解题思路大全:真·大全!
数据结构·python·算法·leetcode·力扣·笔试
钢铁男儿1 小时前
C# 深入理解类(析构函数和this关键字)
java·python·c#
折戟不必沉沙1 小时前
python使用pycharm和conda 设置默认使用清华镜像
python·pycharm·conda
(・Д・)ノ1 小时前
python打卡day34
开发语言·python
二九筒2 小时前
Python Selenium 使用指南
开发语言·python·selenium
小韩加油呀2 小时前
python定时删除指定索引
python·elk·indics
学技术的大胜嗷3 小时前
YOLOv8损失函数代码详解(示例展示数据变换过程)
人工智能·python·深度学习·yolo·目标检测