|
1
9
计算的诀窍是要找到3个数字。
因子数5等于因子数10。然后从因子数5中减去因子数2。计算出2的最后几个数字的幂。将其乘以步骤3中找到的最后几个数字,就完成了。 5的因子数可以计算如下。取n/5(四舍五入)。这就是第一个因子为5的数量。然后n/25(四舍五入)。第二个因子是5。继续,直到完成。 只有用序列2、4、8、16代替,才能类似地计算出2的因子数。
关于比率的第二个问题,您需要利用以下两个事实。事实1是你只需要通过减法就知道2和5的正确因子数。第二个是如果
这是一个重要的优化。如果你知道
我可能应该解释一下为什么这个伎俩有效,因为它并不明显,而且我有几次搞错了。诀窍是,相对素数为5^k的数字组成一个群。意思是每一个都有一个反比。如果你把它们全部乘出来,重新排列,每个都有一个倒数,除了5^k-1。再乘以另一个副本,它们再次配对,包括那个讨厌的副本,乘积为1。现在对于我们的f,我们只关心不可被5整除的奇数,但不可被5整除到2*5^k的奇数,mod 5^k,只是可被5整除到5^k的奇数的重新排列。我们需要2份复印件,因此需要4*5K。但我们只需要赔率,因为后面的偶数总是与前面的奇数具有相同的值。 根据请求,下面是一个示例的工作原理。我会做15的最后3位!
这是正确的,因为
|
|
|
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
b39b332d · 使用C++标准库实现高效间隔存储 2 年前 |
|
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 2 年前 |
|
|
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 2 年前 |