QOJ.ac

QOJ

Limite de temps : 2.0 s Limite de mémoire : 256 MB Points totaux : 100 Hackable ✓

#11545. 数字缩减

Statistiques

Busy Beaver 得到了一个用十进制表示的正整数 $k$ ($1 \le k \le 10^{18}$)。接着,他重复执行以下操作:

选择 $k$ 中的一个大于 1 的数字。如果 $k$ 能被该数字整除,则将 $k$ 除以该数字。对得到的结果重复此过程,直到达到 1 或者无法再进行合法的操作。如果存在一种方式可以通过该操作将 $k$ 减小到 1,则称 $k$ 是合法的。

计算在 $1, \dots, N$ 的范围内有多少个合法的 $k$。

输入格式

输入的第一行包含给定的整数 $N$ ($1 \le N \le 10^{18}$)。

输出格式

输出一行,包含一个整数,表示从 1 到 $N$ 中可以通过该操作达到 1 的整数个数。

子任务

本题有两个子任务:

  • (25 分):$N \le 10^5$。
  • (75 分):无额外限制。

样例

样例输入 1

9

样例输出 1

9

样例输入 2

13

样例输出 2

10

说明

在第一个测试用例中,所有从 1 到 9 的整数都可以被其自身整除从而达到 1,因此答案为 9。

在第二个测试用例中,所有从 1 到 9 的整数都是合法的,如第一个测试用例所述。10、11 和 13 没有大于 1 的数字作为其自身的约数,因此无法减小到 1。然而,12 可以除以 2 得到 6,6 又可以除以 6 得到 1。因此,1 到 9 以及 12 是合法的,答案为 10。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.