小 hi 有乙個數字 k,小 hi 可以對他進行多次變換:每次變換選擇 k 的乙個大於 1 的約數 d,然後將 k 變成 k/d
現在小 hi 想將乙個數字變成 1,求操作的方案數。由於方案數可能過大,你只需要輸出方案數對 109+7 取模後的值。
例如對於k=10,有三種方案:10->5->1,10->1,10->2->1。
input
乙個正整數 k
1 ≤ k ≤ 106
output
輸出將 k 變成 1 的操作序列的方案數
sample input
10sample output
3#includeusing namespace std;
int dp[1000010];
const int num=1e9+7;
int main()
} cout《這道題嘛我一開始想的是每乙個最後都到1,每乙個約數都到1,所以每一層約數的個數累加,再注意細節之類的,但是計算約數的個數雖然有公式,比價複雜,估計會超時。
再是由乙個數遞減到其約數,約數可以再遞減,很明顯的動態規劃,由於本人不是很熟,所以hh了。只會照搬。
乙個數可以到1,除本身以外的其他約數,自底向上的話,關係又是倍數的話,那麼兩個迴圈條件是很顯然的,當然不是對我自己,累加約數的情況。注意取餘。由此看來一般動態規劃的題還是很好解的,在一定的訓練下。
Loj10166 數字遊戲2
題目描述 由於科協裡最近真的很流行數字遊戲,某人又命名了一種取模數,這種數字必須滿足各位數字之和 modn 為 000。現在大家又要玩遊戲了,指定乙個整數閉區間 a,b a,b a,b 問這個區間內有多少個取模數。列舉每一位,記錄每一次列舉 n的餘數,當列舉完時,如果餘數是0,就 1,否則 0.in...
Loj10166 數字遊戲2
題目描述 由於科協裡最近真的很流行數字遊戲,某人又命名了一種取模數,這種數字必須滿足各位數字之和 modn 為 000。現在大家又要玩遊戲了,指定乙個整數閉區間 a,b a,b a,b 問這個區間內有多少個取模數。列舉每一位,記錄每一次列舉 n的餘數,當列舉完時,如果餘數是0,就 1,否則 0.in...
flash與遊戲筆記 滾動數字 2
除了copy 畫素的辦法,還有一種是beginfillbitmap的做法來填充我們想要的資料,現在提供另外一種方法做乙個簡單實驗。第一種方式是繼承bitmap 第二種方式是先把點陣圖裁剪後再拼合,方面有一些區別,實驗的功能基本上可以達到想要的效果,至於效能那個好還要多做測試。bitmap copy畫...