传统题 1000ms 256MiB

求和

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

问题描述

半仙最近在研究一个奇怪的函数,它定义如下:

$ f(n) = \begin{cases} f(\frac{n}{k}), & \text{如果} k \mid n \\ f(n-1)+1, & \text{其他情况} \end{cases} $

其中,nnkk 都是正整数,knk \mid n 表示 kk 整除 nn,即 nnkk 取模的结果是 00

现在记 S(n)=i=1nf(i)S(n) = \sum_{i=1}^{n} f(i),即 S(n)S(n)ff 函数的前 nn 项之和。

你的任务是:输入 nnkk,求 S(n)S(n),最后结果对 109+710^9 + 7 取模。

输入格式

共两行,第一行一个整数 nn,第二行一个整数 kk

输出格式

一个整数表示 S(n)S(n) 的值,对 109+710^9 + 7 取模。

样例

10
2
17
202011146666666666
6
93574825

数据范围

  • 对于 30% 的数据:0<n1080 < n \leq 10^8
  • 对于 50% 的数据:0<n10120 < n \leq 10^{12}
  • 对于 100% 的数据:0<n10180 < n \leq 10^{18}2k102 \leq k \leq 10

2025七月月赛

未参加
状态
已结束
规则
OI
题目
4
开始于
2025-7-5 8:30
结束于
2025-7-5 12:00
持续时间
3.5 小时
主持人
参赛人数
37