给你一个整数 n。
如果一个数字的所有位数的 阶乘 之和 等于 数字本身,则称其为 阶数数字(digitorial)。
判断是否存在 n 的 任意排列(包括原始顺序),可以形成一个 阶数数字。
如果存在这样的 排列,返回 true;否则,返回 false。
注意:
x 的 阶乘(记作 x!)是所有小于或等于 x 的正整数的 乘积,且 0! = 1。
示例 1:
输入: n = 145
输出: true
解释:
数字 145 本身是一个阶数数字,因为 1! + 4! + 5! = 1 + 24 + 120 = 145。因此,答案为 true。
示例 2:
输入: n = 10
输出: false
解释:
数字 10 不是阶数数字,因为 1! + 0! = 2 不等于 10。同时,排列 "01" 是无效的,因为它以零开头。
提示:
1 <= n <= 109