牛客小白月赛 5 C. 水题(water)
链接
https://ac.nowcoder.com/acm/contest/135/C
题意
存在一个函数 $f(n),n \in \mathbb{N}^{*}$,且这个函数满足下面的一个关系:
$\sum\limits_{i=1}^{n}{f(i)^2}=f(n) \times f(n+1)$
对于一个正整数 $x$,若存在一个数 $k \in \mathbb{N}^{*}$,使得 $f(k)=x$,则求出 $x$的阶乘在 $m$ 进制下的末尾 $0$ 的个数;若不满足上述条件,输出 $z(z=x%\min(13,m)+1)$皇后的方案数
思路
打表可得 $f(n)$ 是斐波那契数列
若 $x$ 是斐波那契数列中的一项:
若 $x!$ 在 $m$ 进制下的末尾有 $k$ 个 $0$,那么 $x!$ 一定是 $m^k$ 的倍数
假设 $m=p_1^{a_1}*p_2^{a_2}\dotsp_k^{a_k}$
对于每个 $p_i^{a_i}$,我们只要求出 $x!$ 中有几个 $p_i^{a_i}$,取最小值即可
若 $x$ 不是斐波那契数列中的一项:
将z皇后方案数打表即可
代码
1 |
|