• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 68  文章 - 57  trackbacks - 0
            <2009年7月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            留言簿(8)

            隨筆分類(74)

            隨筆檔案(68)

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            題目大意是給定一個數n,問約數個數為n的最小的數k是多少。其中1 <= n <= 10000, k <= 10 ^ 15。
            這是一個經典問題了,我一直以為會有經典算法,開始的時候一直往貪心上想,結果owen給出了反例。后來經過吉大牛點撥,因為k <= 10 ^ 15,可以根據這個定界,最差情況k的素因子也不會超過13,這樣就可以搜索了!
            實現的時候我也犯了幾個小錯,一個是把10 ^ 15少打了一個0,還有一個剪枝必須加:如果當前結果的約數個數為f,那么如果n % f不為0,則剪掉,因為約數個數是以乘積的關系累加的。
             1 #include <cstdio>
             2 const int M = 14;
             3 const long long max = 1000000000000000LL;
             4 
             5 int p[M] = {2357111317192329313741}, k;
             6 long long ans;
             7 void solve(long long v, int factor, int pos)
             8 {
             9     if (factor >= k)
            10     {
            11         if (factor == k)    ans <?= v;
            12         return;
            13     }
            14     if (k % factor) return;
            15     if (pos == M)   return;
            16     for (int i = 1; i <= 50; i++)
            17     {
            18         v *= p[pos];
            19         if (v > max)    break;
            20         solve(v, factor * (i + 1), pos + 1);
            21     }
            22 }
            23 
            24 int main()
            25 {
            26     while (scanf("%d"&k) == 1)
            27     {
            28         ans = max + 1;
            29         solve(110);
            30         if (ans > max)   printf("-1\n");
            31         else             printf("%lld\n", ans);
            32     }
            33 
            34     return 0;
            35 }
            36 
            posted on 2009-03-30 21:44 sdfond 閱讀(304) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm - Number Theory
            一本一道久久综合狠狠老| 国产精品视频久久久| 久久综合五月丁香久久激情| 久久国产精品免费一区二区三区| 亚洲国产婷婷香蕉久久久久久| 亚洲精品tv久久久久久久久| 国产一级持黄大片99久久| 伊人情人综合成人久久网小说| 久久久久亚洲av无码专区喷水| 少妇熟女久久综合网色欲| 狠狠色丁香久久综合五月| 人妻无码αv中文字幕久久琪琪布| 国产成人无码久久久精品一| 亚洲国产精品嫩草影院久久| 国产精品久久网| 久久亚洲精品无码AV红樱桃| 久久亚洲国产成人影院网站| a高清免费毛片久久| 亚洲女久久久噜噜噜熟女| 亚洲人成电影网站久久| 国产69精品久久久久99| 久久精品这里热有精品| 久久精品亚洲一区二区三区浴池 | 精品国产VA久久久久久久冰| 亚洲欧洲久久久精品| 久久人人超碰精品CAOPOREN| 亚洲精品国产成人99久久| 日韩精品久久久久久| 亚洲国产精品人久久| 婷婷久久综合九色综合98| 97精品伊人久久大香线蕉app| 日产精品久久久久久久性色| 人妻少妇久久中文字幕| 久久久久免费看成人影片| 久久99精品久久久久久hb无码| 午夜不卡久久精品无码免费 | 久久免费高清视频| 中文字幕一区二区三区久久网站| 久久久久国产一级毛片高清版| 久久久青草青青亚洲国产免观| 国产精品综合久久第一页|