水题(water)(非详细解答)
傳送
時間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 32768K,其他語言65536K
64bit IO Format: %lld
題目描述
其中,f(1)=1;f(2)=1;Z皇后的方案數:即在Z×Z的棋盤上放置Z個皇后,使其互不攻擊的方案數。
輸入描述:
輸入數據共一行,兩個正整數x,m,意義如“題目描述”。
輸出描述:
一個正整數k,表示輸出結尾0 的個數或者放置皇后的方案數
示例1
輸入
輸出
14200說明
題解:
看了一陣子沒明白,也是從其他人那學完之后,自己總結著再寫
這個題內含三個小題:
1.判斷是否存在k使得f(k)=xf(k)=x
2.n!在m進制下末尾零的個數
3.Z皇后方案數
解答:(非詳細)
1.F函數其實就是斐波那契數列
斐波那契數列平方和的性質:(就是題目中所給公式)
2.求n!在m進制的末尾0個數
首先一個結論:n!的質因子p的個數等于:1~n中p的倍數(n/p)加上(n/p)!中質因子p的個數
然后:
寫出
將數W轉化成m進制的末尾0的個數
的暴力代碼是:
可以得到 W=a * mtot(n是mtot的倍數)
末尾幾個0,tot就是幾(tot是記錄末尾0
的數量)
我們看 n ! 最多可以分解出多少個m
質因數 pi
設m=p1a1 *p2a2 *…*pkak
W = n!
n!= a * m tot
n!=a * (p1a1 *p2a2 *…*pkak)tot
n!=a * p1b1 *p2b2 *…*pkbk
bk=ak *tot
求出!x最多可以分解出多少個pi
tot=min(bk/ak)
枚舉k
3.求z皇后方案數
z=x%min(13,m)+1
根據式子就能得到z的范圍在1~13,范圍不大直接打表就可以
總結
以上是生活随笔為你收集整理的水题(water)(非详细解答)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: diou ciou torch
- 下一篇: BP神经网络 python实现