QOJ.ac

QOJ

时间限制: 2.0 s 内存限制: 256 MB 总分: 100 可 Hack ✓

#8878. Oleg 和数据科学

统计

如今,每个人都听说过机器学习、神经网络和大数据。学生 Oleg 也不例外,他也想紧跟潮流。他开始努力使用 Python 分析各种数据集。来到联合办公空间,为神经网络增加几层,然后靠在椅子上,一边喝着冰沙,一边看着电脑处理数千兆字节的数据,这感觉真是太棒了!但今天,出了一些问题,Oleg 向你寻求帮助。

最初,他有一个包含重要数据的数组 $a$:从 $L$ 到 $R$(包含 $L$ 和 $R$)的所有整数。然后,Oleg 写了一个函数 $f(a, m)$,它返回一个新数组,其中每个整数都被替换为其对 $m$ 取模后的余数。最后,Oleg 误操作并执行了代码行 $a = f(a, Q)$,从而替换了原始数组 $a$!为了评估这场悲剧的规模,他想要计算有多少个正整数 $X$ 满足:无论原始数组 $a$ 的内容如何,函数 $f(a, X)$ 的结果都与 Oleg 没有执行那行错误代码时的结果相同。

如果问题还不清楚,这里是数学表述。要求计算满足以下条件的正整数 $X$ 的个数:对于区间 $[L, R]$ 中的所有整数 $S$,下式恒成立: $$((S \bmod Q) \bmod X) = (S \bmod X)$$

输入格式

仅一行,包含三个用空格分隔的整数:$L, R$ 和 $Q$ ($1 \le L, R, Q \le 10^{12}, L \le R$)。

输出格式

如果满足条件的正整数 $X$ 的个数是有限的,请输出该个数。否则,输出单词 “infinity”。

样例

输入 1

1 1 1

输出 1

1

输入 2

3 5 2

输出 2

2

输入 3

1 10 10

输出 3

4

输入 4

1 1 2

输出 4

infinity

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.