注意理解:今天做pta也遇到了乙個類似的題目,不過那個題目是讓求非0後k位。
這裡,我們先把有可能乘出來10的質因子2和質因子5全部除掉,然後就可以放心大膽的取模啦,最後由於質因子2被多除了,再乘回來就好啦。
#include
#include
#include
#include
#include
#define ll long long
#define pr make_pair
#define pb push_back
using
namespace std;
int cnt=0;
intfi
(int x)
intmain
(void
)
洛谷 P1134 USACO3 2 階乘問題
也就是字面上的意思,求出n!階乘的最右邊的非零位的值。用模擬加數論的方法,因為想要在末尾出現乙個0,那麼就一定會是10的倍數,而10 2 5,所以只要看1 n 現5的次數即可,因為2的倍數的數量一定是比5的倍數的數量多的。然後在循換中每次mod10求個位數,因為任何正整數相乘的個位數只與它們的個位數...
P1134 階乘問題
也許你早就知道階乘的含義,n階乘是由1到n相乘而產生,如 12 1 times 2 times 3 times 4 times 5 times 6 times 7 times 8 times 9 times 10 times 11 times 12 479,001,60012 1 2 3 4 5 6...
P1134 階乘問題
題意 求出 n 去掉後導 0 之後的最後一位 首先後導 0 最簡單是由 2 5 得來的 於是想到乙個騷操作,先把每個數的 2,5 提出來,一對一對地消掉,就把後導 0 去掉了 因為在 1 n 中因子 2 一定比 5 多,所以最後讓 2 的個數減去 5 的個數 然後對於剩下的 2 不想寫快速冪 發現只...