题目描述

给你一个正整数 n ,开始时,它放在桌面上。在  天内,每天都要执行下述步骤:

  • 对于出现在桌面上的每个数字 x ,找出符合 1 <= i <= n 且满足 x % i == 1 的所有数字 i 。
  • 然后,将这些数字放在桌面上。

返回在  天之后,出现在桌面上的 不同 整数的数目。

注意:

  • 一旦数字放在桌面上,则会一直保留直到结束。
  • % 表示取余运算。例如,14 % 3 等于 2 。

思路

感觉是对 做因式分解,但是仔细想想,在对 操作后一定会对 操作,依此类推直到 1,那么小于 的所有数最后都会出现在桌面上(当 时),那么最终代码就很简单了:

class Solution:
    def distinctIntegers(self, n: int) -> int:
        return 1 if n == 1 else n-1