題目描述
磊哥有個密碼箱,裡面裝的都是令磊哥羞羞的東西。
箱子的密碼是[1,n]裡面的約數最多的數的約數數目。
磊哥的女朋友想知道磊哥到底裝的是什麼東西?她需要你的幫助。
輸入
輸入乙個整數t,表示有t個測試資料
下面t行,每行輸入乙個正整數n。
輸出
對每個n,輸出對應一行乙個正整數表示[1,n]裡最多約數的數的約數個數。
樣例輸入213
9樣例輸出64
提示
100%的資料滿足:1 ≤ n ≤ 1,000,000,000,000,000,000.
思路
根據約數個數定理可知
對於乙個大於1正整數n可以分解質因數:
則n的正約數的個數就是
其中a1、a2、a3…ak是p1、p2、p3,…pk的指數。
又因為可推出當pi 單調遞增時 ai單調遞減
所以每次pi向上遞推時,其ai必定小於ai-1
由此可進行搜尋得出答案
**實現
#include#include#include#includeusing namespace std;
typedef long long ll;
const int n=110;
const int mod=1e9+7;
const double eps=1e-10;
ll ans,n;
int pre[100]=;
ll quickpow(ll a,ll b)
return sum;
}void dfs(ll cnt,ll tot,ll val,int len)
}int main()
return 0;
}
洛谷P4296 密碼箱
在一次偶然的情況下,小可可得到了乙個密碼箱,聽說裡面藏著乙份古代流傳下來的藏寶圖,只要能破解密碼就能開啟箱子,而箱子背面刻著的古代圖示,就是對密碼的提示。經過艱苦的破譯,小可可發現,這些圖示表示乙個數以及這個數與密碼的關係。假設這個數是 n 密碼為 x 那麼可以得到如下表述 密碼 x 大於等於 0 ...
洛谷P4296 AHOI2007 密碼箱
鏈結 一道有點意思的題目.主要難點在於想到移項,就是把原式轉化成平方差的形式,然後把 n 拆分成 a,b 這樣做了之後我們就發現 a 整除 x 1 且 b 整除 x 1 或者 a 整除 x 1 且 b 整除 x 1 的時候,x 滿足題意 列舉 a 和 k b 1,k b 1 然後判斷這個 k b 1...
三分鐘教會你開密碼箱
這是我和我表哥親身經歷的一件事情,我們兩個一起買了兩個密碼箱。密碼箱可以重新設定密碼,我把我的密碼箱設定乙個密碼。他把他的密碼箱設定乙個密碼,沒過20分鐘,他忘記了。我們找到賣密碼箱的店主想讓他幫忙開啟,他也不知道怎麼快速開啟,說讓我們把箱子放在這裡他乙個密碼乙個密碼的嘗試。我們說 比較著急,她就推...