• <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>
            posts - 16,comments - 0,trackbacks - 0
            給出 2n 個數,求最大的 x 滿足 x!%M = 0 ,其中 M = a1^b1*a2^b2*a3^b3…*an^bn 。

            Input

            In the first line is an integer T (1<=T<=50) indicating the number of test cases.
            Each test case begins with an integer n (1<=n<=100), then followed n lines. Each line contains two numbers ai and bi (1 <= ai <= 100, 1<=bi<=10000000000000)

            Output

            For each test case output the result x in one line.

            Source
            2010 Asia Regional Hangzhou Site Online Contest
            #?include?<stdio.h>
            #?include?
            <string.h>
            #?include?
            <math.h>

            #?define?N?
            101
            typedef?
            long?long?int?LL;

            int?n;
            /*******************************************************/
            int?p[50],?top?=?0;
            int?isPrime(int?x)
            {
            ????????????????
            int?i;
            ????????????????
            if?(x%2==0)?return?x==2;
            ????????????????
            if?(x%3==0)?return?x==3;
            ????????????????
            if?(x%5==0)?return?x==5;
            ????????????????
            for?(i?=?7;?i?<?x;?i?+=?5)
            ????????????????????????????????
            if?(x%i?==?0)?return?0;
            ????????????????
            return?1;
            }

            void?pre(void)
            {
            ????????????????
            int?i;
            ????????????????
            for?(i?=?2;?i?<?N;?++i)
            ????????????????????????????????
            if?(isPrime(i))?p[top++]?=?i;
            }
            /*******************************************************/
            LL?pn[
            50];
            void?init(void)
            {
            ????????????????
            int?i,?j,?x;
            ????????????????LL?cnt;
            ????????????????LL?num;
            ????????????????memset(pn,?
            0,?sizeof(pn));
            ????????????????scanf(
            "%d",?&n);
            ????????????????
            for?(i?=?0;?i?<?n;?++i)
            ????????????????{
            ????????????????????????????????scanf(
            "%d%I64d",?&x,?&num);
            ????????????????????????????????
            for?(j?=?0;?j?<?top;?++j)
            ????????????????????????????????{
            ????????????????????????????????????????????????
            if?(x%p[j]?==?0)
            ????????????????????????????????????????????????{
            ????????????????????????????????????????????????????????????????cnt?
            =?0;
            ????????????????????????????????????????????????????????????????
            while?(x%p[j]==0)?++cnt,?x/=p[j];
            ????????????????????????????????????????????????????????????????pn[j]?
            +=?cnt*num;
            ????????????????????????????????????????????????}
            ????????????????????????????????}
            ????????????????}
            }
            LL?Max(LL?x,?LL?y)
            {
            ????????????????
            return?x>y???x:y;
            }

            LL?mypow(
            int?pr,?int?cnt)
            {
            ????????????????LL?ret?
            =?1;
            ????????????????
            while?(cnt?>?0)?--cnt,?ret?*=?pr;
            ????????????????
            return?ret;
            }

            LL?cal(
            int?pr,?LL?tot)
            {
            ????????????????
            int?tmp;
            ????????????????LL?ppow?
            =?0,?temp;
            ????????????????
            while?(tot?>?0)
            ????????????????{
            ????????????????????????????????tmp?
            =?(int)floor(log(tot*(pr-1)+1)/log(pr))+1;
            ????????????????????????????????
            while?((mypow(pr,?tmp)-1)/(pr-1)?>?tot)?--tmp;
            ????????????????????????????????temp?
            =?mypow(pr,?tmp);
            ????????????????????????????????ppow?
            +=?temp;
            ????????????????????????????????tot?
            -=?(temp-1)/(pr-1);
            ????????????????}
            ????????????????
            return?ppow;
            }
            void?solve(void)
            {
            ????????????????
            int?i;
            ????????????????LL?ans?
            =?0;
            ????????????????
            for?(i?=?0;?i?<?top;?++i)?if?(pn[i]?!=?0)
            ????????????????????????????????????????????????ans?
            =?Max(ans,?cal(p[i],?pn[i]));
            ????????????????printf(
            "%I64d\n",?ans);
            }

            int?main()
            {
            ????????????????
            int?T;
            ????????????????pre();
            ????????????????scanf(
            "%d",?&T);
            ????????????????
            while?(T--)?init(),?solve();

            ????????????????
            return?0;
            }

            posted on 2012-09-08 16:01 yajunw 閱讀(181) 評論(0)  編輯 收藏 引用
            久久久久99精品成人片三人毛片| 久久久久亚洲AV无码专区首JN| 久久精品国内一区二区三区| 91久久婷婷国产综合精品青草| 久久国产精品免费一区| 亚洲午夜无码AV毛片久久| 亚洲国产精品无码久久久不卡| 欧美综合天天夜夜久久| 久久毛片一区二区| www.久久99| 一本一本久久A久久综合精品| 亚洲一本综合久久| 久久夜色精品国产噜噜噜亚洲AV| 一本色道久久88加勒比—综合| 久久中文字幕人妻熟av女| 伊人热人久久中文字幕| 日韩欧美亚洲综合久久| 国产呻吟久久久久久久92| 久久精品国产99久久无毒不卡| 中文精品99久久国产 | 99久久国语露脸精品国产| 99久久综合国产精品二区| 久久久无码人妻精品无码| 久久婷婷五月综合97色直播| 久久精品一区二区三区中文字幕| 精品久久香蕉国产线看观看亚洲| 久久午夜福利无码1000合集| 久久久无码精品亚洲日韩软件| 久久91精品久久91综合| 国产精品免费看久久久| 午夜久久久久久禁播电影| 国内精品九九久久精品| 久久天天躁狠狠躁夜夜躁2014| 亚洲成av人片不卡无码久久| 久久精品成人一区二区三区| 亚洲综合婷婷久久| 精品久久人人做人人爽综合 | 99久久99这里只有免费的精品| 日韩精品无码久久久久久| 欧美va久久久噜噜噜久久| 午夜人妻久久久久久久久|