n 最後一位非零數 poj 1150

2021-09-02 09:02:31 字數 711 閱讀 4389

題意:

求p(n,m)的最後一位非零數。

思路:討論1-----n中2,5,3,7,9因子的個數,具體移步

按照我的理解,求n!最後非零為,先把1----n中『2』和『5』的因子的數量求出來,因為只有2和5可以構成0,接下來就要分別求出1---n中最後一位為3,7,9的數字的數量,然後相乘就可以得到n!的最後一位的數

#include#include#includeusing namespace std;

typedef long long ll;

ll n, m;

ll get25(ll n ,ll x)

return res;

}ll getodd(int n ,int x)

ll gao(int n ,int x)

int table[4][4] =;

int main()

ll res = 1;

if(two != five)res *= table[0][(two - five)%4];

res *= table[1][(three)%4];

res *= table[2][(seven)%4];

res *= table[3][(nig)%4];

res %= 10;

printf("%i64d\n",res);

}return 0;

}

計算n!的最後一位非0的數

includeint main if sum 100 這裡若設定太小,當階乘很大時,會出現錯誤 printf d d n i,sum 該處為測試所用 printf d sum 10 return 0 這裡需要說明的是,當if sum 100 判斷條件不夠大時,比如只有sum 10,那麼每次只保留階乘...

N!的最末位非零數

n!的最末位非零數 原帖 給定乙個數n n 10 1000 如何快速求得n!的最末位非零數是乙個經典的問題。一直以來都被這個問題困擾,今天仔細想了下,終於給想通了,儘管可能有些笨拙,現把想法記錄於此。在n很小的情況下,有乙個簡便的方法 求出1到n之間每個數的2的因子數和5的因子數,記為f 2 和f ...

結尾非零數的奇偶性

描述 給你乙個正整數列表 l,如 l 2,8,3,50 判斷列表內所有數字乘積的最後乙個非零數字的奇偶性,奇數輸出1,偶數輸出0.如樣例輸出應為0 coding utf 8 l 2,8,3,50 product 1 for i in l product i def main global produ...