poj1150排列最後地非零位 數學

2021-08-16 19:57:39 字數 749 閱讀 2820

排列最後地非零位有2,5,3,7,9地次方來決定,而且這幾個數地次方最後一位都是週期出現。

在計算地過程中先找出1……n中有多少2和5地冪,比如找2,先找出偶然n/2個,然後/2,再找。找到2和5地冪,比大小處理。

末尾數字3,5,7地處理花了寫時間,先用處理類似2,5地迴圈來寫總是出錯。手工花了資料,發現是個樹,只好dfs了。比如1……30,我們先統計除裡面末位3地個數,我們在前面不斷地除2,除5,因此要統計這時候3地個數,但是進行多次過程中n/2/5和n/5/2就重複統計了,因此要減去。

參考**

#include#includeusing namespace std;

int p2[5]= ,p3[5]=,p7[5]=,p9[5]=;

int di(int n,int a)

int di379(int n,int a)

int work(int n,int m) {

int a2,a5,a3,a7,a9,ans=1;

a2=di(n,2)-di(n-m,2);

a5=di(n,5)-di(n-m,5);

if(a2>a5)a2-=a5,a2%=4,ans=p2[a2];

else if(a2==a5) ans=1;

else {ans=5;cout<<5<

poj1150 求排列Anm的末尾非0數字

題意 求npm,即n個元素的m中排列方式結果中末尾非0 的數字。思路 首先我們知道,2和5相乘末尾非0數字為1,相當於可以相消。我們先把這兩個因子抽離出來,考慮末尾為3,7,9的數字。設f n,x 為 n!因子中,抽離了2,5,後末尾數字為x的因子個數。分析可以知道f n,x f n 2,x g n...

n 最後一位非零數 poj 1150

題意 求p n,m 的最後一位非零數。思路 討論1 n中2,5,3,7,9因子的個數,具體移步 按照我的理解,求n!最後非零為,先把1 n中 2 和 5 的因子的數量求出來,因為只有2和5可以構成0,接下來就要分別求出1 n中最後一位為3,7,9的數字的數量,然後相乘就可以得到n!的最後一位的數 i...

POJ 1469 排列組合的思維

題意就是說給一列序列.其順序是 1 a 2 b 26 z 27 ab.28 ac.51 az.52 bc.類似這樣.其中的字串都是每一位比前一位大.最長為vwxyz.給出乙個字串.求出其在佇列中的序列號.這道題就是用乙個排列組合.比如求 bdf 求出1位和2為總共有多少個.然後每一位就依次求出前一位...