锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产77777蜜臀,亚洲高清在线观看一区,久久中文欧美http://m.shnenglu.com/csu-yx-2013/archive/2012/08/06/186469.htmlyxyxMon, 06 Aug 2012 08:01:00 GMThttp://m.shnenglu.com/csu-yx-2013/archive/2012/08/06/186469.htmlhttp://m.shnenglu.com/csu-yx-2013/comments/186469.htmlhttp://m.shnenglu.com/csu-yx-2013/archive/2012/08/06/186469.html#Feedback0http://m.shnenglu.com/csu-yx-2013/comments/commentRss/186469.htmlhttp://m.shnenglu.com/csu-yx-2013/services/trackbacks/186469.html
   緇欎綘涓涓礌鏁癙(P<=30000)鍜屼竴涓查暱涓簄鐨勫瓧絎︿覆str[]銆傚瓧姣?*'浠h〃0錛屽瓧姣峚-z鍒嗗埆浠h〃1-26錛岃繖n涓瓧絎︽墍浠h〃鐨勬暟瀛楀垎鍒唬琛?br />f(1)銆乫(2)....f(n)銆傚畾涔? f (k) = ∑0<=i<=n-1aiki (mod p) (1<=k<=n,0<=ai<P)錛屾眰a0銆乤1.....an-1銆傞鐩繚璇佽偗瀹氭湁鍞竴瑙c?br />   瑙i鎬濊礬錛氶珮鏂秷鍏冦傛牴鎹笂闈㈢殑鍏紡鏄劇劧鍙互鍒楀嚭鏈塶涓湭鐭ユ暟鐨刵涓柟紼嬪紡錛?/div>
   a0*1^0 + a1*1^1+a2*1^2+........+an-1*1^(n-1) = f(1)
   a0*2^0 + a1*2^1+a2*2^2+........+an-1*2^(n-1) = f(2)
   ..............
   a0*n^0 + a1*n^1+a2*n^2+........+an-1*n^(n-1) = f(n)
   鐒跺悗閲囩敤楂樻柉娑堝厓娉曟潵瑙d笂闈㈢殑鏂圭▼緇勫嵆鍙?br />   鍏稿瀷鐨勯珮鏂秷鍏冮錛屽彧鏄浜嗕釜modP錛屽洜姝よ綆楄繃紼嬩腑鍙兘闇瑕佹墿灞曟鍑犻噷寰風畻娉曘?br />
   璇翠笅鎵璋撶殑楂樻柉娑堝厓鐨勬濊礬錛屽叾瀹炲彲浠ュ弬鐪嬬淮鍩虹櫨縐戯紝
http://zh.wikipedia.org/wiki/%E9%AB%98%E6%96%AF%E6%B6%88%E5%8E%BB%E6%B3%95錛屽ぇ鑷磋繃紼嬫槸涓鐩存秷鍙橀噺銆?br />姣斿鍒氬紑濮嬶紝娑堢涓涓彉閲忥紝娑堝畬涔嬪悗鍙絎竴涓柟紼嬪惈鏈夌涓涓彉閲忥紝鐒跺悗娑堢浜屼釜鍙橀噺錛屾秷瀹屼箣鍚庡彧璁╃浜屼釜鏂圭▼鍚浜屼釜鍙橀噺錛屼互姝?br />涓嬪幓璁╂渶鍚庣殑鏂圭▼鍚渶鍚庝竴涓彉閲忥紝鑰屼笖鏈鍚庝竴涓柟紼嬩腑瀵逛簬鍓峃-1涓彉閲忕殑緋繪暟閮芥槸0錛岃繖鏍峰氨鑳借В鍑鴻繖N涓彉閲忎簡銆?br />   鍏充簬鑷敱鍏冩寚鐨勬槸榪欎釜鍙橀噺鍙互鍙栦換浣曞鹼紝寰楀嚭榪欐牱鐨勭粨璁烘槸鍦ㄦ秷鍙橀噺鐨勮繃紼嬩腑鍙戠幇璇ュ彉閲忕殑鍦ㄧrow涓柟紼嬪埌絎琋鏂圭▼涓殑緋繪暟閮芥槸0浜嗭紝
鎵浠ュ彲浠ュ彇浠諱綍鍊箋傚垽鏂棤瑙g殑鏂瑰紡鏄紝絎瑀ow+1鍒扮N涓柟紼嬪湪楂樻柉娑堝厓涔嬪悗鎵鏈夌殑緋繪暟蹇呭畾鏄?錛屾墍浠ユ柟紼嬬殑鍊間篃蹇呴』鏄?銆?br />   姹傛柟紼嬬殑瑙e緱榪囩▼鏄粠N涓В寮濮嬮嗘帹錛岀N-1涓柟紼嬩篃灝卞寘鍚?涓彉閲忎簡錛岀N涓彉閲忓拰絎琋-1涓彉閲忥紝浠ユ涓嬪幓錛屽氨鍙互瑙e嚭鏂圭▼緇勪簡銆?br />   鍏蜂綋鐨勫彲浠ュ弬鐓х淮鍩虹櫨縐戝拰浠g爜浠旂粏鍒嗘瀽銆傝繕鏈夋紨綆楁硶絎旇涓婁篃鏈夐珮鏂秷鍏冪殑瑙i噴銆?br />
   浠g爜濡備笅錛?br />
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
#define MAX (70 + 10)

int nMatrix[MAX][MAX];
int nAns[MAX];
void InitMatrix(char* szStr, int nN, int nP)
{
    memset(nMatrix, 0, sizeof(nMatrix));
    for (int i = 0; i < nN; ++i)
    {
        nMatrix[i][nN] = (szStr[i] == '*' ? 0 : szStr[i] - 'a' + 1);
    }
    for (int i = 0; i < nN; ++i)
    {
        int nTemp = 1;
        for (int j = 0; j < nN; ++j)
        {
            nMatrix[i][j] = nTemp;
            nTemp = (nTemp * (i + 1)) % nP;
        }
    }
}

int egcd(int nA, int nB, int& nX, int& nY)
{
    if (nA < nB)swap(nA, nB);
    if (nB == 0)
    {
        nX = 1, nY = 0;
        return nA;
    }
    int nRet = egcd(nB, nA % nB, nX, nY);
    int nT = nX;
    nX = nY;
    nY = nT - (nA / nB) * nY;
    return nRet;
}

int Gauss(int nN, int nP)
{
    int nR, nC;
    for (nR = nC = 0; nR < nN && nC < nN; ++nR, ++nC)
    {
        if (nMatrix[nR][nC] == 0)
        {
            for (int i = nR + 1; i < nN; ++i)
            {
                if (nMatrix[i][nC])
                {
                    for (int j = nC; j <= nN; ++j)
                    {
                        swap(nMatrix[nR][j], nMatrix[i][j]);
                    }
                    break;
                }
            }
        }

        if (nMatrix[nR][nC] == 0)
        {
            nR--;    //鑷敱鍏?/span>
            continue;
        }
        int nA = nMatrix[nR][nC];
        for (int i = nR + 1; i < nN; ++i)
        {
            if (nMatrix[i][nC])
            {
                int nB = nMatrix[i][nC];
                for (int j = nC; j <= nN; ++j)
                {
                    nMatrix[i][j] = (nMatrix[i][j] * nA - nMatrix[nR][j] * nB) % nP;
                }
            }
        }
    }
    for (int i = nR; i < nN; ++i)
    {
        if (nMatrix[i][nN])
        {
            return -1;//鏃犺В
        }
    }
    
    int nX, nY;
    for (int i = nN - 1; i >= 0; i--)
    {
        int nSum = 0;
        for (int j = i + 1; j < nN; ++j)
        {
            nSum = (nSum + nMatrix[i][j] * nAns[j]) % nP;
        }
        
        nSum = (nMatrix[i][nN] - nSum + nP * nP) % nP;
        
        egcd(nP, (nMatrix[i][i] + nP) % nP, nX, nY);
        nY = (nY + nP) % nP;
        nAns[i] = (nY * nSum + nP) % nP;//絎琲涓В
    }
    return 1 << (nN - nR);//榪斿洖瑙g殑涓暟,鏈鏈夊敮涓瑙?/span>
}

int main()
{
    int nT;

    scanf("%d", &nT);
    while (nT--)
    {
        int nP;
        int nN;
        char szStr[MAX];
        scanf("%d%s", &nP, szStr);
        nN = strlen(szStr);
        InitMatrix(szStr, nN, nP);
        Gauss(nN, nP);
        for (int i = 0; i < nN; ++i)
        {
            printf("%d%s", nAns[i], i == nN - 1 ? "\n" : " ");
        }
    }

    return 0;
}
   


yx 2012-08-06 16:01 鍙戣〃璇勮
]]>uva 10392 - Factoring Large Numbershttp://m.shnenglu.com/csu-yx-2013/archive/2012/08/01/185896.htmlyxyxWed, 01 Aug 2012 07:51:00 GMThttp://m.shnenglu.com/csu-yx-2013/archive/2012/08/01/185896.htmlhttp://m.shnenglu.com/csu-yx-2013/comments/185896.htmlhttp://m.shnenglu.com/csu-yx-2013/archive/2012/08/01/185896.html#Feedback0http://m.shnenglu.com/csu-yx-2013/comments/commentRss/185896.htmlhttp://m.shnenglu.com/csu-yx-2013/services/trackbacks/185896.html瀛愮殑澶у皬瓚呰繃1000000銆傚搱鍝堬紝榪欏氨鏄毚鐐瑰晩銆傛棦鐒訛紝濡傛鐩存帴鏋氫婦1000000浠ュ唴鐨勫洜瀛愬氨琛屼簡錛屽墿浣欑殑閮ㄥ垎濡傛灉澶т簬10鐨?嬈?br />鑲畾鏄疦鐨勫洜瀛愪簡錛屽氨涓嶇敤鏆村姏浜嗐傚鏋滃皬浜?0鐨?嬈¤偗瀹氭槸1鍟︼紝鍥犱負2-1000000鐨勫洜瀛愰兘琚鐞嗕簡鍟娿?br />   榪欐牱榪欎釜棰樺氨涓嶄細瓚呮椂浜嗐傜‘瀹烇紝鏆村姏鏄渶瑕佹妧宸х殑銆傝繕瑕佹敞鎰弖va涓婅鐢?lld杈撳叆銆?br />
#include <stdio.h>
#include <math.h>
typedef long long LL;
#define MAX (6000000)
bool bPrime[MAX];
int nPrime[MAX];
int nNum;

void InitPrime()
{
    LL nMax = sqrt(MAX) + 1;
    bPrime[0] = bPrime[1] = true;
    for (int i = 2; i <= nMax; ++i)
    {
        if (!bPrime[i])
        {
            for (int j = 2 * i; j < MAX; j += i)
            {
                bPrime[j] = true;
            }
        }
    }
    for (int i = 2; i < MAX; ++i)
    {
        if (!bPrime[i])
            nPrime[nNum++] = i;
    }

}

bool IsPrime(LL nN)
{
    if (nN < MAX) return !bPrime[nN];
    LL nMax = sqrt((double)nN) + 1;
    for (LL j = 0, i = nPrime[j]; i <= nMax; ++j, i = nPrime[j])
    {
        if (nN % i == 0)
        {
            return false;
        }
    }
    return true;
}

int main()
{
    LL nN;

    InitPrime();
    while (scanf("%lld", &nN), nN >= 0)
    {
        if (nN <= 2)
        {
            printf("%-lld\n\n", nN);
            continue;
        }

        int nMax = sqrt((double)nN)+ 1;
        for (LL i = 2; i <= 1000000 && i <= nMax; ++i)
        {
            while (nN % i == 0)
            {
                printf("    %-lld\n", i);
                nN /= i;
            }
            if (nN < 6000000 && IsPrime(nN))
            {
                break;
            }
        }
        if (nN != 1)
            printf("    %-lld\n", nN);
        printf("\n");
    }

    return 0;
}


yx 2012-08-01 15:51 鍙戣〃璇勮
]]>
poj 1401 Factorialhttp://m.shnenglu.com/csu-yx-2013/archive/2012/07/27/185327.htmlyxyxFri, 27 Jul 2012 07:05:00 GMThttp://m.shnenglu.com/csu-yx-2013/archive/2012/07/27/185327.htmlhttp://m.shnenglu.com/csu-yx-2013/comments/185327.htmlhttp://m.shnenglu.com/csu-yx-2013/archive/2012/07/27/185327.html#Feedback0http://m.shnenglu.com/csu-yx-2013/comments/commentRss/185327.htmlhttp://m.shnenglu.com/csu-yx-2013/services/trackbacks/185327.html浣嗘槸錛屾垜榪樻槸璇曚簡涓嬶紝鏋滄柇瓚呮椂浜嗐?br />   閭e氨鍙湁鎯蟲暟瀛︾粨璁轟簡錛屾灉鏂兂鍒?-N涓兘琚?鏁撮櫎鐨勬暟瀛楁湁N / 2銆傚搱鍝堬紝鍐嶅線鍚庢濊冧笅錛屽彂鐜?-N涓兘琚?鏁撮櫎鐨勬暟瀛楁湁N / 4涓紝鍐嶅線鍚?br />灝辨槸N / 8錛屼竴鐩村埌N 闄や互2鐨勬煇涓鏂逛負0涓烘錛岄偅涔堟妸鎵鏈夌殑鍊煎姞璧鋒潵灝辨槸2鐨勫洜瀛愮殑涓暟浜嗐傛眰5鐨勫洜瀛愮殑涓暟涔熸槸榪欐牱鐨勬柟娉曚簡銆?br />   寰堟槑鏄撅紝5鐨勫洜瀛愮殑涓暟涓瀹氫細灝忎簬絳変簬2鐨勫洜瀛愮殑涓暟銆傞偅涔堢洿鎺ユ眰5鐨勫洜瀛愮殑涓暟灝辮浜嗐傜敱浜庯紝N / 5鐨勬椂鍊欑敤鍒頒簡鍚戜笅鍙栨暣錛?br />鎵浠ヤ笉鑳界敤絳夋瘮鏁板垪姹傚拰鍏紡錛屾庝箞鎶婄瓟妗堝紕鎴愪竴涓叕寮忥紝榪樹笉鐭ラ亾浜嗐?br />   PS錛氬叾瀹炴垜榪欑鎬濊礬鐨勭伒鎰熸潵鑷簬絳涢夌礌鏁扮殑鏂規硶浜嗐?br />
浠g爜濡備笅錛?br />
#include <stdio.h>
#include <algorithm>
#include <math.h>
using namespace std;

int GetAns(int nN)
{
    int nAns = 0;
    while (nN)
    {
        nAns += nN / 5;
        nN /= 5;
    }
    return nAns;
}

int main()
{
    int nT;

    scanf("%d", &nT);
    while (nT--)
    {
        int nN;
        scanf("%d", &nN);
        printf("%d\n", GetAns(nN));
    }
    
    return 0;
}


yx 2012-07-27 15:05 鍙戣〃璇勮
]]>
poj 1730 Perfect Pth Powershttp://m.shnenglu.com/csu-yx-2013/archive/2012/07/26/185236.htmlyxyxThu, 26 Jul 2012 12:59:00 GMThttp://m.shnenglu.com/csu-yx-2013/archive/2012/07/26/185236.htmlhttp://m.shnenglu.com/csu-yx-2013/comments/185236.htmlhttp://m.shnenglu.com/csu-yx-2013/archive/2012/07/26/185236.html#Feedback0http://m.shnenglu.com/csu-yx-2013/comments/commentRss/185236.htmlhttp://m.shnenglu.com/csu-yx-2013/services/trackbacks/185236.html棰樻剰鏄?a鐨刾嬈℃柟 = n錛屽叾涓璶鏄?2浣嶆暣鏁幫紝a鍜宲閮芥槸鏁存暟錛屾眰婊¤凍鏉′歡鐨勬渶澶銆傚ソ鍚э紝铏界劧鎴戞槸鍦ㄥ鏁拌錛屼絾鏄湅鍒拌繖棰橈紝鎴戣繕鏄兂璧蜂簡
鍙栧鏁般傞偅涔堝彲浠ュ緱鍒幫紝p = ln(n) / ln(a)銆傛棦鐒惰姹傛渶澶х殑p錛岄偅涔坅鏈灝忓嵆鍙簡銆傞偅涔堢洿鎺ヤ粠2寮濮嬫灇涓綼涓嶅氨鍙互浜嗕箞銆?br />    鍙槸鐩存帴鏋氫婦a鐨勮瘽鑲畾浼氳秴鏃剁殑錛屽洜涓篴鐨勮寖鍥村お澶т簡錛屾瘮濡俷鐨勬槸涓ぇ绱犳暟錛宎鐨勮寖鍥村氨鏄?-n浜嗭紝涓瀹氳秴鏃朵簡銆傜劧鍚庯紝鎴戝張鎯沖嚭鍙﹀涓
縐嶆柟娉曪紝瀵筺鍒嗚В鍥犲瓙錛宲灝辨槸鎵鏈夊洜瀛愮殑鎸囨暟鐨勬渶澶у叕綰︽暟銆傚懙鍛碉紝絎簩縐嶆柟娉曟洿鍔犱細鏃犳儏鐨勮秴鏃訛紝鐢變簬int鑼冨洿寰堝ぇ錛屽疄鐜版悶涓礌鏁拌〃涔熶笉
鍙兘銆傝繕鏄劅瑙夋椂闂翠笉澶氫簡錛屽氨涓嶅鎯充簡錛岀劧鍚庢悳浜嗕笅錛屽彂鐜頒竴鍙ヨ瘽錛屾剰璇嗘槸鏋氫婦p銆傞】鏃惰寰楀紑鏈楄搗鏉ワ紝鍥犱負p鏈澶氭槸32銆傜敱鍓嶉潰鍙互寰楀埌
ln(a) = ln(n) / p銆傞偅涔堝彧瑕佷粠32鍒?鏋氫婦p錛屼繚璇乤鏄暣鏁板嵆鍙?br />   鍚庨潰鍙戠幇榪欐牱綺懼害闅句簬鎺у埗錛屽悇縐嶅師鍥犲弽姝h繃涓嶄簡棰橈紝鐪嬬綉涓婄殑浠g爜錛屾敼鎴愯綆楁寚鏁扮殑褰㈠紡浜嗐傚洜涓?a = n鐨?1/p)嬈★紝榪欎釜鍙互鐢╬ow鍑?br />鏁扮畻鍑烘潵錛屽鏋渁鏄暣鏁幫紝閭d箞鍐嶈綆梡ow(a,p)灝變細鏄痭浜嗐傛渶闅炬帶鍒剁殑鏄簿搴︿簡錛岃繕鏈夎n鏄礋鏁扮殑鎯呭喌銆備笉鐭ラ亾涓轟粈涔堢洿鎺ュ鐞嗚礋鏁扮瓟妗?br />涓鐩翠笉瀵癸紝鍙ソ鎶婅礋鏁板彉涓烘鏁幫紝鍚屾椂鍒ゆ柇p涓嶈兘鏄伓鏁般?br />
浠g爜濡備笅錛?br />
#include <stdio.h>
#include <math.h>

int main()
{
    double fN;//鐢╠ouble灝變笉浼氭孩鍑轟簡,璐熸暟灝卞彲浠ョ洿鎺ヨ漿鎹負姝f暟浜?/span>
    
    while (scanf("%lf", &fN), fN)
    {
        bool bFlag = false;
        double fP = 31.0;
        if (fN < 0){fP = 32.0; fN = -fN; bFlag = true;};
        
        while (fP > 0)
        {
            //蹇呴』鍔犱笂涓涓簿搴?闃叉寰涓嬭宸?/span>
            double fA = pow(fN, 1.0 / fP) + 1e-8;
            //fA蹇呴』杞崲涓篿nt,鍥犱負涓鐐圭偣璇樊,pow涔嬪悗灝變細鏀懼ぇ寰堝
            double fTemp = pow((int)fA, fP);
            
            //蹇呴』瀵硅礋鏁扮壒孌婂垽鏂?涓嶅彲鑳藉嚭鐜板伓鏁扮殑p
            if (fabs(fN - fTemp) < 1e-8 && (!bFlag || ((int)fP) % 2))
            {
                printf("%.f\n", fP);
                break;
            }
            fP -= 1.0;
        }
    }
    
    return 0;
}


yx 2012-07-26 20:59 鍙戣〃璇勮
]]>
uva 550 - Multiplying by Rotationhttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/08/173995.htmlyxyxTue, 08 May 2012 08:24:00 GMThttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/08/173995.htmlhttp://m.shnenglu.com/csu-yx-2013/comments/173995.htmlhttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/08/173995.html#Feedback0http://m.shnenglu.com/csu-yx-2013/comments/commentRss/173995.htmlhttp://m.shnenglu.com/csu-yx-2013/services/trackbacks/173995.html   棰樻剰鏄粰鍑轟竴涓繘鍒訛紝涓涓暟瀛楃殑鏈浣庝綅錛屽拰鍙﹀鐨勪竴涓暟瀛楋紝姣斿10榪涘埗錛岀涓涓暟瀛楃殑鏈浣庝綅鏄?錛岀浜屼釜鏁板瓧鏄?錛?br />鏍規嵁榪欎簺淇℃伅錛屽拰瑙勫垯錛圶XXXX7 * 4 = 7XXXXX錛屼緥瀛?span style="font-family: Simsun; line-height: normal; background-color: #ffffff; font-size: medium; ">: 179487 * 4 = 717948 錛夋眰鍑虹涓涓暟瀛楃殑鏈灝忛暱搴︺傝繖涓?br />瑙勫垯鐨勬剰鎬濇槸涔樼Н鏄妸絎竴涓暟瀛楃殑鏈浣庝綅縐誨姩鍒版渶楂樹綅涓婂幓灝辮浜嗐?br />   璨屼技寰堥毦鐨勬牱瀛愶紝鍏跺疄鐢ㄧ瑪鍦ㄧ焊涓婃眰涓涓媂XXXX7 * 4 = 7XXXXX灝變細鍙戠幇銆俋XXXX7鐨勬瘡涓浣嶉兘鏄兘澶熺‘瀹氱殑錛屽綋鐒?br />欏哄簭鏄粠鏈浣庝綅鍒版渶楂樹綅寮濮嬨傚洜涓虹煡閬撴渶浣庝綅錛屾墍浠ユ浣庝綅涓瀹氭槸鏈浣庝綅*絎簩涓暟%base銆備互姝ょ被鎺紝閫掑綊涓嬪幓鍗沖彲銆?br />鏈緇堟潯浠舵槸錛屾病鏈夎繘浣嶄簡錛岃屼笖涔樼Н+鍘熸潵鐨勮繘浣?=鏈浣庝綅銆?br />   鎴戠敤鐨勯掑綊瀹屽叏鍙互鏀規垚寰幆鐨勫艦寮忥紝榪欐牱閫熷害搴旇浼氬揩浜涖?br />   
   浠g爜濡備笅錛?br />
#include <stdio.h>

int nBase;
int nTwo;
int nOneLow;

int GetMin(int nLow, int nCarry, int nNum)
{
    //printf("nLow:%d, nCarry:%d, nNum:%d\n", nLow, nCarry, nNum);
    int nTemp = nCarry + nLow * nTwo;
    if (nTemp == nOneLow)
    {
        return nNum;
    }

    return GetMin(nTemp % nBase, nTemp / nBase, nNum + 1);
}

int main()
{
    //freopen("out.txt", "w", stdout);
    while (scanf("%d%d%d", &nBase, &nOneLow, &nTwo) == 3)
    {
        printf("%d\n", GetMin(nOneLow, 0, 0) + 1);
    }

    return 0;
}


yx 2012-05-08 16:24 鍙戣〃璇勮
]]>
uva 107 - The Cat in the Hathttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/07/173913.htmlyxyxMon, 07 May 2012 08:54:00 GMThttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/07/173913.htmlhttp://m.shnenglu.com/csu-yx-2013/comments/173913.htmlhttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/07/173913.html#Feedback0http://m.shnenglu.com/csu-yx-2013/comments/commentRss/173913.htmlhttp://m.shnenglu.com/csu-yx-2013/services/trackbacks/173913.html鏁版嵁閲忔瘮杈冨皬銆?br />   浣嗘槸錛岃繖涓榪樻槸鏈夋暟瀛︾殑瑙f硶鐨勩備絾鏄紝鍗充嬌鎵懼埌浜嗚繖涓紜殑瑙f硶錛岃繃棰樼殑璇濓紝涔熸槸涓浠跺緢鍥伴毦鐨勪簨鎯呫傞鎰忓ぇ鑷村涓嬶細涓鍙尗錛?br />楂樺害涓篐錛屾埓浜嗕竴涓附瀛愶紝甯藉瓙閲岄潰鏈塏鍙尗錛圢鏄父鏁幫紝涓旀湭鐭ワ級錛屽悓鏍峰附瀛愰噷闈㈢殑鐚篃鎴翠簡甯藉瓙錛屼絾鏄繖浜涚尗鐨勯珮搴﹀彉鎴愪簡H / (N + 1)錛?br />浼氬悜涓嬪彇鏁淬備互姝ら掑綊涓嬪幓錛岀洿鍒版渶鍚庣殑鐚殑楂樺害閮戒負1涓烘銆傜幇鍦紝緇欏嚭H鍜岄珮搴︿負1鐨勭尗鐨勬暟閲忋傝姹傜殑鏄珮搴﹀ぇ浜?鐨勭尗鐨勬暟閲忥紝
浠ュ強鎵鏈夌尗鐨勯珮搴︿箣鍜屻?br />   寰堝埆鎵惂銆傞氳繃涓婇潰鐨勪俊鎭紝寰楀嚭2涓紡瀛愩傚亣璁緊ne浠h〃涓洪珮搴︿負1鐨勭尗鐨勬暟閲忋俹ne = N鐨刵嬈°侶 >= (N + 1)鐨刵嬈°傛敞鎰忕
浜屼釜寮忓瓙涓嶄竴瀹氬彇絳夊彿錛屽洜涓哄緢澶氭椂鍊欓兘鏄笉鑳芥暣闄ょ殑銆傜幇鍦ㄨ姹侼鍜宯銆?涓柟紼嬭В2涓湭鐭ユ暟錛屽簲璇ヨ兘瑙e嚭鏉ャ備絾鏄紝娉ㄦ剰鐨勬槸鍏朵腑
涓涓繕鏄笉絳夊紡銆傘傘?br />   鎸囨暟鍏崇郴寰堝鏃跺欎細杞崲涓哄鏁扮殑鍏崇郴銆傛墍浠ワ紝緇х畫姹傚鏁幫紝鏈塴gH >= n * lg(N + 1)銆傚叾涓紝鐢辯涓涓紡瀛愬彲浠ュ緱鍒皀 = lg(one)
/ lg(N)銆傞偅涔堟渶緇堣漿鎹負錛歭gH >= (lg(one) / lgN) * lg(N + 1)銆傛崲涓艦寮忓氨鏄痩gH / lg(One) >= lg(N + 1) / lgN銆傜幇鍦紝宸茬粡寰?br />娓呮櫚浜嗐傚洜涓猴紝鍑芥暟lg(N + 1) / lg(N) 鏄?strong>鍗曡皟閫掑噺鐨勩傜湅鍒板崟璋冪殑鍑芥暟錛岄┈涓婂氨浼氱煡閬撳彲浠ヤ簩鍒嗕簡銆傛剰鎬濇槸錛屾垜浠彲浠ヤ簩鍒嗗嚭涓涓狽璁?br /> lg(N + 1) / lgN 鏈鎺ヨ繎lgH / lg(One)錛岃屼笖鏄皬浜巐gH / lg(One)鐨勩傚墿涓嬬殑宸ヤ綔灝卞彧鏄眰鍜岃屽凡浜嗐?br />   鍐欎簩鍒嗙殑鏃跺欙紝鏈変竴涓湴鏂瑰彲浠ユ敞鎰忎竴涓嬨傚洜涓?nbsp;lg(N + 1) / lgN 鍙兘浼氬嚭鐜伴櫎鏁頒負0鐨勬儏鍐碉紝鎵浠ュ彲浠ヨ繘涓姝ヨ漿鎹負lgH * lgN >=
lg(N + 1) * lg(one)
銆?nbsp;涔熸槸姹備竴涓狽璁╀笂闈㈤偅涓笉絳夊紡2杈圭殑鍊兼渶鎺ヨ繎錛岃屼笖鍙寵竟灝忎簬宸﹁竟銆?br />   鑳藉緢蹇啓瀵硅繖涓鐪熶笉鏄歡瀹規槗鐨勪簨鎯呫傘傘?br />
   浠g爜濡備笅錛?br />
#include <stdio.h>
#include <math.h>

int main()
{
    int nInitH, nOnes;
    int nN, n;

    while (scanf("%d%d", &nInitH, &nOnes), nInitH + nOnes)
    {
        int nBeg = 1;
        int nEnd = nOnes;
        int nMid;
    
        while (nBeg <= nEnd)
        {
            nMid = (nBeg + nEnd) / 2;
            
            double fRes = log10(nInitH) * log10(nMid);
            double fTemp = log10(nMid + 1) * log10(nOnes);
            if (fabs(fRes - fTemp) < 1e-10)
            {
                //printf("Find nN:%d\n", nMid);
                nN = nMid;
                break;
            }
            else if (fTemp > fRes)
            {
                nBeg = nMid + 1;
            }
            else
            {
                nEnd = nMid - 1;
            }
        }
        
        n = floor(log10(nInitH) / log10(nN + 1) + 1e-9);
        //printf("nN:%d, n:%d\n", nN, n);

        int nSum = 0;
        int nLazy = 0;
        int nNum = 1;
        for (int i = 0; i <= n; ++i)
        {
            nSum += nNum * nInitH;
            nLazy += nNum;
            nNum *= nN;
            nInitH /= (nN + 1);
        }
        
        printf("%d %d\n", nLazy - nOnes, nSum);
    }

    return 0;
}

   

yx 2012-05-07 16:54 鍙戣〃璇勮
]]>
uva 10112 - Myacm Triangleshttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/07/173895.htmlyxyxMon, 07 May 2012 06:07:00 GMThttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/07/173895.htmlhttp://m.shnenglu.com/csu-yx-2013/comments/173895.htmlhttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/07/173895.html#Feedback0http://m.shnenglu.com/csu-yx-2013/comments/commentRss/173895.htmlhttp://m.shnenglu.com/csu-yx-2013/services/trackbacks/173895.html鐨勭偣鍦ㄨ繖涓笁瑙掑艦鐨勫唴閮ㄥ拰杈圭晫涓娿傛眰涓夎褰㈢殑闈㈢Н錛岄鐩笂闈㈠凡緇忕粰浜嗗叕寮忥紝涔熷彲浠ョ敤0.5*|a|*|b|*sin(a,b)姹傦紝榪欓噷鐨刟鍜宐鎸囩殑鏄?鏉?br />杈逛唬琛ㄧ殑鍚戦噺銆?br />   鐜板湪灝卞墿涓嬩竴涓棶棰樹簡錛屾庝箞鍒ゆ柇涓涓偣鍦ㄤ笁瑙掑艦鐨勫唴閮ㄥ拰杈圭晫涓娿傚湪杈圭晫涓婏紝姣旇緝濂藉垽鏂紝鍒ゆ柇鏄惁鍏辯嚎錛岀劧鍚庡啀鐐規槸鍦ㄧ嚎孌電殑鍐呴儴銆?br />鍏蜂綋璇存槑涓嬶紝鍒ゆ柇涓涓偣鍦ㄤ笁瑙掑艦鍐呴儴鐨勬濊礬銆傛垜鐢ㄧ殑榪樻槸綰挎ц鍒掔殑鎬濇兂銆?strong>濡傛灉璇ョ偣鍦ㄤ笁瑙掑艦鐨勫唴閮紝閭d箞浠誨彇涓夎褰㈢殑涓鏉¤竟錛?br />璇ュ唴閮ㄧ偣鍜屽墿浣欑殑涓夎褰㈢殑涓涓《鐐瑰繀瀹氬湪涓夎褰㈢殑閭f潯鐨勮竟鐨勫悓涓渚с?/strong>榪欎釜鏂規硶涔熷彲浠ユ帹騫垮埌N杈圭殑鍑稿杈瑰艦錛岃瘉鏄庣殑璇濆緢綆鍗曪紝
鍥犱負綰挎ц鍒掍竴鐩村湪鍒掑垎鍖哄煙銆傛墍浠ワ紝鍒掑垎鍒版渶鍚庡洿璧鋒潵鐨勫尯鍩熷氨鏄嚫澶氳竟褰㈢殑鍐呴儴浜嗐?br />   鑷充簬鍐欎唬鐮佺殑璇濓紝鐢變簬鏄涓嬈″啓榪欑鍑犱綍棰橈紝鍐欏緱寰堝噷涔便?br />
   浠g爜濡備笅錛?br />
#include <stdio.h>
#include <math.h>

#define MAX (20)
int nN;
struct Point
{
    char szLabel[5];
    int x;
    int y;
};
Point points[MAX];

//涓夌偣鏄惁鍏辯嚎
bool IsOneLine(int nOne, int nTwo, int nThree)
{
    int nA = points[nTwo].x - points[nOne].x;
    int nB = points[nTwo].y - points[nOne].y;
    int nC = points[nThree].x - points[nOne].x;
    int nD = points[nThree].y - points[nOne].y;
    
    return (nA * nD == nB * nC);
}

//鐐筺One鍜岀偣nTwo鏄惁鍦ㄧ洿綰?nBeg,nEnd)鐨勫悓涓渚?涓嶈兘鍦ㄧ洿綰夸笂)
bool IsSameSide(int nBeg, int nEnd, int nOne, int nTwo)
{
    //姹傜洿綰跨殑鍚戦噺
    int nA = points[nBeg].x - points[nEnd].x;
    int nB = points[nBeg].y - points[nEnd].y;
    
    //鐩寸嚎鏂圭▼涓簄B(x - points[nBeg].x) - nA(y - points[nBeg].y) = 0
    
//鍒嗗埆鐢╪One鍜宯Two鐨勫潗鏍囦唬鍏ョ洿綰挎柟紼嬭綆楃粨鏋滐紝鐒跺悗灝嗙粨鏋滅浉涔?br />    //涔樼Н蹇呴』澶т簬0
    int nRes = (nB * (points[nOne].x - points[nBeg].x) - nA * (points[nOne].y - points[nBeg].y))
    * (nB * (points[nTwo].x - points[nBeg].x) - nA * (points[nTwo].y - points[nBeg].y));
    
    if (nRes > 0)
    {
        //printf("鐐?%d,鐐?%d,鍦ㄧ洿綰縩Beg:%d, nEnd:%d鐨勫悓涓渚n", nOne, nTwo, nBeg, nEnd);
    }
    return nRes > 0;
}

//鐐規槸鍚﹀湪涓夎褰?nOne, nTwo, nThree)澶栭儴
bool PointOutTriangle(int nOne, int nTwo, int nThree, int nPoint)
{
    //鍓嶉潰3涓猧felse鏄垽鏂偣鏄惁鍦ㄨ竟涓?/span>
    if (IsOneLine(nOne, nTwo, nPoint))
    {
        if ((points[nOne].x - points[nPoint].x) * (points[nTwo].x - points[nPoint].x) <= 0)
        {
            return false;
        }
    }
    else if (IsOneLine(nOne, nThree, nPoint))
    {
        if ((points[nOne].x - points[nPoint].x) * (points[nThree].x - points[nPoint].x) <= 0)
        {
            return false;
        }
    }
    else if (IsOneLine(nTwo, nThree, nPoint))
    {
        if ((points[nTwo].x - points[nPoint].x) * (points[nThree].x - points[nPoint].x) <= 0)
        {
            return false;
        }
    }
    
    //涓嬮潰鐨処sSameSide濡傛灉nPoint鍦ㄧ洿綰跨殑(nOne,nTwo)鐨勫渚т篃浼氬垽鏂負鍋?br />    //鎵浠ラ渶瑕佸厛鍦ㄤ笂闈㈠垽鏂偣鏄惁鍦ㄨ竟鐨勫唴渚?/span>
    return !(IsSameSide(nOne, nTwo, nThree, nPoint)
    && IsSameSide(nOne, nThree, nTwo, nPoint)
    && IsSameSide(nTwo, nThree, nOne, nPoint));
}

bool IsValid(int nOne, int nTwo, int nThree)
{
    if (IsOneLine(nOne, nTwo, nThree))
    {
        //printf("鐐?%d,%d,%d鍏辯嚎\n", nOne, nTwo, nThree);
        return false;
    }
    
    for (int i = 0; i < nN; ++i)
    {
        if (i == nOne || i == nTwo || i == nThree)
        {
            continue;
        }

        if (!PointOutTriangle(nOne, nTwo, nThree, i))
        {
            //printf("鐐?%d, 鍦ㄤ笁瑙掑艦:%d,%d,%d鍐呴儴\n", i, nOne, nTwo, nThree);
            return false;
        }
    }
    
    return true;
}

//璁$畻涓夎褰?nOne, nTwo, nThree)鐨勯潰縐?/span>
double GetArea(int nOne, int nTwo, int nThree)
{
    return 0.5 * fabs((points[nThree].y - points[nOne].y) * (points[nTwo].x - points[nOne].x)
    - (points[nTwo].y - points[nOne].y) * (points[nThree].x - points[nOne].x));
}

int main()
{
    while (scanf("%d", &nN), nN)
    {
        for (int i = 0; i < nN; ++i)
        {
            scanf("%s%d%d", points[i].szLabel, &points[i].x, &points[i].y);
        }
        
        double fMaxArea = 0.0;
        int nI = -1, nJ = -1, nK = -1;
        for (int i = 0; i < nN - 2; ++i)
        {
            for (int j = i + 1; j < nN - 1; ++j)
            {
                for (int k = j + 1; k < nN; ++k)
                {
                    if (IsValid(i, j, k))
                    {
                        //printf("i:%d,j:%d,k:%d valid\n", i, j, k);
                        double fArea = GetArea(i, j, k);
                        //printf("Area:%f\n", fArea);
                        if (fArea > fMaxArea)
                        {
                            nI = i;
                            nJ = j;
                            nK = k;
                            fMaxArea = fArea;
                        }
                    }
                }
            }
        }
        printf("%s%s%s\n", points[nI].szLabel, points[nJ].szLabel, points[nK].szLabel);
    }
    
    return 0;
}


yx 2012-05-07 14:07 鍙戣〃璇勮
]]>
uva 10025 - The ? 1 ? 2 ? ... ? n = k problemhttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/04/173663.htmlyxyxFri, 04 May 2012 08:53:00 GMThttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/04/173663.htmlhttp://m.shnenglu.com/csu-yx-2013/comments/173663.htmlhttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/04/173663.html#Feedback0http://m.shnenglu.com/csu-yx-2013/comments/commentRss/173663.htmlhttp://m.shnenglu.com/csu-yx-2013/services/trackbacks/173663.html鐨勶紵鍙鳳紝瀵逛簬鎸囧畾鐨凨錛屾眰鏈灝忕殑n銆?br />   For example: to obtain k = 12 , - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7銆?nbsp;  
   榪欎釜棰橈紝鎴戠殑鎬濊礬澶ц嚧濡備笅銆傞鍏堬紝K鍙兘鏄鐨勪篃鏄礋鐨勶紝鑰屼笖鏄劇劧璐熺殑鎯呭喌錛屾湁鐩稿簲鐨勬瀵瑰簲鎯呭喌銆傞偅涔堣冭檻鎵鏈塳涓烘鐨勬儏鍐點?br />鐢變簬k涓瀹氬皬浜庣瓑浜巒*(n+1)/2鐨勶紝鎵浠ュ彲浠ュ厛姹傚嚭榪欐牱鐨勬渶灝弉銆傝繖涓彲浠ヤ簩鍒嗘悳绱紝鎴栬呯洿鎺ョ敤瑙d笉絳夊紡鏂圭▼(涓嶈繃榪欑鏂規硶涓鐩磜a浜?銆?br style="font-size: 12pt; " />   鐒跺悗灝卞墿涓嬬殑鏄浜岀偣浜嗭紝鍋囪a + b = n*(n+1)/2, a - b = k銆傚彲浠ュ緱鍒? n*(n+1)/2 - k = 2 * b銆?/strong>鎰忔濇槸錛屽繀欏繪弧瓚? n*(n+1)/2
鍜宬鐨勫樊涓哄伓鏁般傚亣濡傛弧瓚充簡錛岃繖鏍風殑n鏄笉鏄竴瀹歄K浜嗭紵錛燂紵   
   絳旀鏄偗瀹氱殑錛岃繖涓鐐瑰氨鏄渶瑕佺寽鎯崇殑鍦版柟浜嗐傚洜涓猴紝浠旂粏瑙傚療涓嬶紝1鍒皀鐨勬暟瀛楀彲浠ョ粍鍚堝嚭浠繪剰鐨?鍒?nbsp;n*(n+1)/4涔嬮棿鐨勬暟瀛楋紝榪欎釜鏁板瓧
鍗蟲槸b銆傝嚦浜庤瘉鏄庯紝鍙互鐢ㄦ暟瀛﹀綊綰蟲硶浠巒==1寮濮嬭瘉鏄庝簡銆傘傘傝嚦姝ゅ凡緇忓緢綆鍗曚簡銆?nbsp; 
   鐢變簬姹俷瀛樺湪2縐嶄笉鍚岀殑鏂規硶錛岃屼笖鎴戝紑濮嬬敤瑙d竴鍏冧簩嬈′笉絳夊紡鐨勬柟娉曟眰鐨凬錛屽嚭鐜頒簡嫻偣璇樊錛屼竴鐩碬A浜嗐傚悗闈㈡敼鎴愪簩鍒嗘墠榪囦簡銆傘傘?br />
   浠g爜濡備笅錛?br />
#include <stdio.h> 
#include <math.h>

int GetN(int nK)
{
    int nBeg = 1;
    int nEnd = sqrt(nK * 2) + 2;
    
    while (nBeg <= nEnd)
    {
        int nMid = (nBeg + nEnd) / 2;
        int nTemp = (nMid * nMid + nMid) / 2;
        if (nTemp >= nK)
        {
            nEnd = nMid - 1;
        }
        else
        {
            nBeg = nMid + 1;
        }
    }
    
    return nEnd + 1;
}

int main()
{
    int nK;
    int nTest;
    
    scanf("%d", &nTest);
    while (nTest--)
    {
        scanf("%d", &nK);
        if (nK < 0)
        {
            nK *= -1;
        }
        //int nN = ceil(sqrt(2 * fabs(1.0 * nK) + 0.25) - 0.5 + 1e-9);
        //涓婇潰閭g鏂規硶瀛樺湪嫻偣璇樊,wa浜嗕笁嬈?br />        int nN = GetN(nK);
        
        while (1)
        {
            if (((nN * nN + nN) / 2 - nK) % 2 == 0)
            {
                printf("%d\n", nN);
                break;
            }
            ++nN;
        }
        if (nTest)
        {
            printf("\n");
        }
    }
    
    return 0;
}


yx 2012-05-04 16:53 鍙戣〃璇勮
]]>
uva 10014 - Simple calculationshttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/03/173597.htmlyxyxThu, 03 May 2012 10:55:00 GMThttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/03/173597.htmlhttp://m.shnenglu.com/csu-yx-2013/comments/173597.htmlhttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/03/173597.html#Feedback0http://m.shnenglu.com/csu-yx-2013/comments/commentRss/173597.htmlhttp://m.shnenglu.com/csu-yx-2013/services/trackbacks/173597.html鐨勮В閲娿傜湡鐨勫緢鎯劎寰堝穿婧冦傘傘傝繖灝辨槸涓涓暟鍒楁帹鐞嗙殑棰樼洰鍚с?br />   緇欏嚭涓涓暟鍒梒i錛?<=ci<=n)錛岀劧鍚庣粰鍑烘暟鍒梐i涓殑a0鍜宎(n+1)銆傚茍緇欏嚭涓涓叕寮廰i = ( a(i-1) + a(i+1) )  /  2 - ci銆傞鐩殑鎰忔?br />鏄姹俛1銆傚ぇ瀹跺湪寰堜箙浠ュ墠鐨勯珮涓椂浠d竴瀹氬仛榪囧緢澶氱殑鏁板垪棰橈紝鎵浠ユ垜涓鐪嬪埌榪欎釜棰樿繕鏄劅瑙夊緢浜插垏鐨勩傜劧鍚庡氨寮濮嬫帹綆椼傛垜鎶婁笂闈㈤偅
涓叕寮忥紝浠巌==1鍒癷==n錛屽叏閮ㄧ瘡鍔犺搗鏉ャ傛秷鍘?杈逛竴鏍風殑欏癸紝寰楀埌涓涓粨鏋?strong>a1 + an = a0 + a(n+1) - 2 
Σci(1<=i<=n)銆備粠榪?br />涓叕寮忥紝鎴戝彧鑳藉緱鍒癮1鍜宎n 鐨勫拰銆傛兂鏉ユ兂鍘婚兘鏃犳硶鐩存帴姹傚嚭a1鐨勫箋備絾鏄紝鎴戜篃鐭ラ亾濡傛灉鑳芥眰鍑篴1錛岄偅涔坅i涓殑浠諱綍鍏跺畠欏歸兘鏄兘姹?br />鍑烘潵鐨勩傛垜鐚滄兂a1鍜宎n鐩哥瓑錛屾彁浜ゅ綋鐒秝a浜嗐傜劧鍚庯紝鎴戠寽鎯砤i鏄痑0鍜宎(n+1)鐨刬鍒嗙偣錛屾彁浜よ繕鏄痺a浜嗐傚悗闈㈣繖涓寽鎯沖掓槸鍚堢悊鐐癸紝浣嗘槸
榪樻槸鏈変笉涓ヨ皚鐨勫湴鏂癸紝鍥犱負閭f牱錛宎1鐨勫間箣鍜宎0錛宎(n+1)錛宑1榪欎笁涓兼湁鍏崇郴浜嗐?br />   榪欎釜棰樺叾瀹炰互鍓嶆垜鎯充簡涓涓嬶紝娌℃兂鍑烘潵銆傜劧鍚庝粖澶╅噸鏂版兂鐨勬椂鍊欏彲鑳藉彈浠ュ墠鐨勫獎鍝嶏紝闄愬埗浜嗕竴涓濊礬銆傞偅灝辨槸錛屽啀瀵瑰紡瀛恆1 + an =
a0 + a(n+1) - 2 Σci(1<=i<=n)榪涜绱姞銆傚叾瀹烇紝涔熸湁a1 + a(n-1) = a0 + an - 2 Σci(1<=i<=n-1)銆傝繖鏍風瘡鍔爊嬈★紝鍒氬ソ鍙互鎶?br />a2-an鍏ㄩ儴娑堝幓銆傚彲浠ュ緱鍒幫紝涓涓紡瀛?strong>(n+1)a1 = n * a0 + a(n+1)- 2  ΣΣ cj(1<=j<=i) (1<=i<=n)銆傞偅涔堝氨鍙互鐩存帴姹傚嚭a1浜嗐?br />   鍏紡錛?img src="http://m.shnenglu.com/images/cppblog_com/csu-yx/mathtex.gif" width="254" height="42" alt="" />
   
   浠g爜濡備笅錛?br />
#include <stdio.h>
#include <string.h>

int main()
{
    int nCases;
    int nN;
    double a0, an1;
    double a1;
    double ci[3000 + 10];
    double c;
    double sum;
    
    scanf("%d", &nCases);

    while (nCases--)
    {
        scanf("%d", &nN);
        scanf("%lf%lf", &a0, &an1);
        
        sum = 0.0;
        memset(ci, 0, sizeof(ci));
        for (int j = 1; j <= nN; ++j)
        {
            scanf("%lf", &c);
            ci[j] = ci[j - 1] + c;//ci[j]浠h〃鏁板垪ci涓1-j欏圭殑鍜?/span>
            sum += ci[j];
        }

        a1 = (nN * a0 + an1 - 2 * sum) / (nN + 1);
        printf("%.2f", a1);
        putchar('\n');
        
        if (nCases)
        {
            putchar('\n');
        }
    }
    
    return 0;
}


yx 2012-05-03 18:55 鍙戣〃璇勮
]]>uva 10061 - How many zero's and how many digits ?http://m.shnenglu.com/csu-yx-2013/archive/2012/05/02/173512.htmlyxyxWed, 02 May 2012 12:05:00 GMThttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/02/173512.htmlhttp://m.shnenglu.com/csu-yx-2013/comments/173512.htmlhttp://m.shnenglu.com/csu-yx-2013/archive/2012/05/02/173512.html#Feedback0http://m.shnenglu.com/csu-yx-2013/comments/commentRss/173512.htmlhttp://m.shnenglu.com/csu-yx-2013/services/trackbacks/173512.html闇瑕佸灝戜綅鏁幫紝榪欎釜琛ㄧず鏈熬浼氭湁澶氬皯涓?銆傝繖涓騫朵笉闇瑕佷粈涔堥珮娣辯殑鐭ヨ瘑錛岃繖涓鐐逛篃鏄垜鍠滄鍋氳繖綾婚鐨勪竴涓柟娉曘?br />澶у鏄劇劧閮界煡閬撴眰n錛佺敤10榪涘埗琛ㄧず鏈熬浼氭湁澶氬皯涓?鐨勬柟娉曪紝灝辨槸姹?*5鏈澶氭湁澶氬皯瀵廣傞偅涔堬紝b榪涘埗浜嗐傛柟娉曠被浼鹼紝鍙戞暎涓涓嬫兂娉曡屽凡銆?br />   鎴戣繕鏄厛璇存眰澶氬皯浣嶆暟鐨勬柟娉曞惂銆?b鐨刴-1嬈?<= n錛?lt;= b鐨刴嬈?/strong>錛圥S錛岃繖涓笉絳夊紡濡傛灉鎶奲鎹㈡垚10澶у涓瀹氫細鏄庣櫧鐨勶級錛?br />鐪嬪埌榪欎釜涓嶇瓑寮忓簲璇ユ湁鎯蟲硶浜嗗惂銆備袱杈瑰悓鏃跺彇logb錛屽氨鍙互寰楀埌Σlogi(1<=i<=n) <= m錛宮鐩存帴灝辨眰鍑烘潵浜嗐俶鍗蟲槸浣嶆暟銆?br />   鍐嶈鎬庝箞姹傛湯灝?鐨勶紝鍙戞暎涓嬫兂娉曪紝鎴戜滑涔熷彲浠ュn錛佷腑鐨勬瘡涓洜瀛愯瘯鐫姹俠鐨勫洜瀛愬錛屼竴鍏辨湁澶氬皯瀵廣備絾鏄紝鍚庨潰鍙戠幇榪欐牱涓嶈錛?br />鍥犱負姣斿b鏄?6錛?鍜?6鏄竴瀵瑰洜瀛愶紝2鍜?鏄竴瀵瑰洜瀛愶紝4鍜?鏄竴瀵瑰洜瀛愶紝涔熷氨鏄洜涓?涔熸槸4鐨勫洜瀛愶紝榪欐牱璁$畻鍥犲瓙瀵瑰氨浼氶噸澶嶄簡銆?br />浣嗘槸瀵逛簬b絳変簬10鐨勬儏鍐碉紝鍙互渚嬪鑰屽凡銆?br />   鍛靛懙錛岃冭檻鍏跺畠鐨勬柟娉曘傛眰绱犳暟鍥犲瓙銆備換浣曟暟瀛楅兘鍙互琚垎瑙d負涓浜涚礌鏁板洜瀛愮殑涔樼Н錛岃繖鏄瘚瀹圭疆鐤戠殑銆傞偅涔堬紝鎴戜滑鍘誨垎瑙錛佷腑鐨?br />灝忎簬絳変簬b鐨勭礌鏁板洜瀛愶紝騫跺皢鍏朵釜鏁板瓨鍌ㄥ湪鏁扮粍閲岄潰銆傜劧鍚庢寰幆鐨勫幓鍒嗚Вb鐨勭礌鏁板洜瀛愶紝鑳藉瀹屽叏鍒嗚В涓嬈?br />(鍏蜂綋鐪嬩笅浠g爜錛屼笉濂芥弿榪幫級錛宎ns灝卞姞1銆?/strong>鍚﹀垯錛屽凡緇忔病鏈夋湯灝?浜嗐?br />   铏界劧鎻愪氦浜?6嬈℃墠榪囥備笉榪囨渶鍚庤繕綆椾笉閿欏惂錛屽彧鐢ㄤ簡0.508s銆傜浉姣?0s鐨勬椂闂寸晫闄愶紝寰堝皬浜嗐傜綉涓婃湁浜涜繃鐨勪唬鐮侊紝璺戜竴涓暟鎹兘瑕?br />鍑犲垎閽熴傘傘侾S錛歶va涓婇偅浜涚浜猴紝鎬庝箞鐢?.0s綆楀嚭鏉ョ殑錛屽緢闅炬兂璞″晩銆?br />   榪欎釜棰樼洰榪樻湁涓緢澶х殑闇瑕佹敞鎰忕殑鍦版柟錛屽氨鏄誕鐐規暟鐨勭簿搴﹂棶棰樸傚墠闈㈣鍒版眰浣嶆暟闇瑕佺敤鍒發og鍑芥暟錛宭og鍑芥暟鐨勮綆楃簿搴﹀氨鍑洪棶棰樹簡銆?br />鏈鍚庨渶瑕佸鍜屽姞涓涓?strong>1e-9鍐峟loor鎵嶈兘榪囥傜壒鍒渶瑕佹敞鎰忚繖涓鐐癸紝鍥犱負寮濮嬫垜鐨勭▼搴忚繃浜嗘墍鏈夌殑http://online-judge.uva.es/board/viewtopic.php?f=9&t=7137&start=30涓婅鐨勬暟鎹繕鏄痺a浜嗐傝屼笖鎴戣繕鍙戠幇log10璁$畻綺懼害楂?/strong>寰堝錛屽鏋渓og(榪欎釜鏄嚜鐒跺鏁?鍘昏綆楋紝榪欎釜緗戠珯涓婄殑鏁版嵁閮借繃涓嶄簡銆?br />
#include <stdio.h>
#include <string.h>
#include <math.h>

int nN, nB;

int nDivisor[1000];

int GetDigit(int nN, int nB)
{
    double fSum = 0.0;
    for (int i = 2; i <= nN; ++i)
    {
        fSum += log10(i);
    }
    
    fSum /= log10(nB);
   
    return floor(fSum + 1e-9) + 1;
}

int GetZero(int nN, int nB)
{
    memset(nDivisor, 0, sizeof(nDivisor));

    for (int i = 2; i <= nN; ++i)
    {
        int nTemp = i;
        
        for (int j = 2; j <= nTemp && j <= nB; ++j)//榪欐牱寰幆灝卞彲浠ヨ繘琛岀礌鏁板洜瀛愬垎瑙d簡
        {
            while (nTemp % j == 0)
            {
                nDivisor[j]++;
                nTemp /= j;
            }
        }
    }
    
    int nAns = 0;
    
    while (1)
    {
        int nTemp = nB;
        
        for (int j = 2; j <= nTemp; ++j)//鍒嗚ВnB
        {
            while (nTemp % j == 0)
            {
                if (nDivisor[j] > 0)//濡傛灉榪樺彲浠ョ戶緇垎瑙?br />                {
                    --nDivisor[j];
                }
                else //鐩存帴鍙互goto璺沖嚭澶氶噸寰幆浜?/span>
                {
                    goto out;
                }
                nTemp /= j;
            }
        }
        ++nAns;
    }
    
out:
    return nAns;
}

int main()
{
    while (scanf("%d%d", &nN, &nB) == 2)
    {
        int nDigit = GetDigit(nN, nB);
        int nZero = GetZero(nN, nB);
        printf("%d %d\n", nZero, nDigit);
    }

    return 0;
}


yx 2012-05-02 20:05 鍙戣〃璇勮
]]>
uva 10790 - How Many Points of Intersection?http://m.shnenglu.com/csu-yx-2013/archive/2012/04/12/171132.htmlyxyxThu, 12 Apr 2012 12:44:00 GMThttp://m.shnenglu.com/csu-yx-2013/archive/2012/04/12/171132.htmlhttp://m.shnenglu.com/csu-yx-2013/comments/171132.htmlhttp://m.shnenglu.com/csu-yx-2013/archive/2012/04/12/171132.html#Feedback2http://m.shnenglu.com/csu-yx-2013/comments/commentRss/171132.htmlhttp://m.shnenglu.com/csu-yx-2013/services/trackbacks/171132.htmlhttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=99&page=show_problem&problem=1731 

   榪欐槸涓涓暟瀛﹂錛屾瘮杈冩湁鎰忔濄傞鎰忓ぇ鑷存槸錛氭湁2鏉″鉤琛岀殑鐩寸嚎錛岀涓鏉′笂闈㈡湁m涓偣錛岀浜屾潯涓婇潰鏈塶涓偣銆傞偅涔堣繛鎺ヨ繖鍐欑偣鑳戒駭鐢焟*n
鏉$洿綰?涓嶅寘鎷拰鍘熸潵鐨勬墽琛屽鉤琛岀殑鐩寸嚎)銆傞棶榪檓*n鐩寸嚎鏈澶氭湁澶氬皯涓唴浜ょ偣(鎰忔濇槸涓嶅睘浜庡師鏉,n涓偣鐨勪氦鐐?...
   
   鎯蟲潵鎯沖幓錛屾帹鐞嗕簡1涓灝忔椂鎵嶅嚭鏉ユ寮忕粨鏋溿傛劅瑙夋瘮杈冩湁鎰忔濓紝鍐欑瘒鍗氭枃璁板綍涓嬨傛垜鍏堟槸浠庡弽闈㈡帓闄わ紝鎯充簡璇曚簡濂戒箙鍒版渶鍚庤繕鏄彂鐜版棤娉?br />鎺掗櫎騫插噣銆傘傘傛渶鍚庡彧鑳戒粠姝i潰寮濮嬫眰璇佷簡銆傛垜榪欐牱瀹氫箟涓鏉℃墽琛?i錛宩)錛屽叾涓璱浠h〃鍦ㄧ涓鏉$洿綰夸腑鐨勭鐐癸紝j浠h〃鍦ㄧ浜屾潯鐩寸嚎涓殑绔偣銆?br />鏄劇劧1 <= i <= m錛岃屼笖1 <= j <= n銆?br />   鐜板湪鐨勮瘽鍙姹傚嚭鍜岀洿綰?i錛宩)鐩稿姞鐨勭洿綰挎湁澶氬皯鏉★紝鐒跺悗瀵筰錛宩榪涜绱姞姹傚拰銆傚啀瀵瑰拰闄や互2灝辮兘寰楀埌絳旀浜嗐?br />   閭d箞鏈夊灝戞潯鐩寸嚎鑳藉拰鐩寸嚎(i錛宩錛夌浉浜や簡銆傚緢鏄劇劧錛屽拰(i,j)鐩鎬氦鐨勭洿綰跨殑绔偣蹇呴』鍦ㄥ叾涓や晶銆傛剰鎬濇槸鍦ㄧ涓鏉$洿綰夸腑鐨勭鐐硅寖鍥翠負
[1,  i - 1],鍦ㄧ浜屾潯鐩寸嚎涓殑绔偣鑼冨洿涓篬j + 1, n]錛屾葷粨(i - 1) * (n - j) 鏉$洿綰褲備絾鏄繕鏈夌浜岀鎯呭喌,鍦ㄧ涓鏉$洿綰夸腑鐨勭鐐硅寖鍥?br />涓篬i + 1, m], 鍦ㄧ浜屾潯鐩寸嚎涓殑绔偣鑼冨洿涓篬1,  j - 1]錛屾葷粨(m - i) * (j - 1) 鏉$洿綰褲?
   鎬昏sum = i * n + i - m -n + j (m - 2 * i + 1) 鏉$洿綰褲?br />   鍐嶆眰Σsum錛坖浠?鍒皀)寰楀埌鍜屽紡(m*n*n - m*n - n*n + n) / 2錛屽啀瀵硅繖涓紡瀛愯繘琛宨浠?鍒癿鐨勭瘡鍔犮傚洜涓烘病鏈塱浜嗭紝鍏舵晥鏋滃氨鏄箻浠銆?br />鐒跺悗鏈緇堢殑鍜岄櫎浠?錛屾墍浠ユ渶鍚庣殑琛ㄨ揪寮忔槸(m*m*n*n - m*m*n - m*n*n + m*n) / 4銆傝繖涓紡瀛愭樉鐒舵槸鍏充簬m,n瀵圭О鐨勩?br />榪欎竴鐐逛篃鍙互楠岃瘉榪欎釜寮忓瓙鐨勬紜с?br />

紼嬪簭鍐欒搗鏉ュ氨寰堢畝鍗曚簡錛屼唬鐮佸涓嬶細
#include <iostream> 
using namespace std;

int main()
{
    long long m, n;
    int nCases = 0;
    
    while (cin >> m >> n, m + n != 0)
    {
        long long a = m * m;
        long long b = n * n;
        cout << "Case " << ++nCases << ": "
        << (a * b - a * n - b * m + m * n) / 4 << endl;
    }
    
    return 0;
}


yx 2012-04-12 20:44 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              女仆av观看一区| 极品少妇一区二区| 亚洲欧美美女| 翔田千里一区二区| 久久精品国产久精国产一老狼| 一本久久青青| 亚洲欧美日韩视频二区| 久久成人精品一区二区三区| 久久午夜影视| 久久狠狠一本精品综合网| 亚洲第一级黄色片| 亚洲毛片播放| 午夜影院日韩| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美大片免费观看在线观看网站推荐| 亚洲人成亚洲人成在线观看| 中文在线不卡| 久久亚洲精品一区二区| 国产精品乱码人人做人人爱| 亚洲国产精品一区二区第四页av | 国产亚洲欧洲| 亚洲国产精彩中文乱码av在线播放| 一本不卡影院| 另类人畜视频在线| 一区二区国产精品| 老司机免费视频一区二区| 欧美日韩性视频在线| 国产在线观看91精品一区| 亚洲视频一区二区在线观看| 久久综合狠狠综合久久综合88| 亚洲精品视频中文字幕| 久久精品中文字幕一区| 国产精品美女久久久久av超清| 亚洲国产欧美一区二区三区同亚洲 | 欧美在线视频观看| 欧美色欧美亚洲另类七区| 樱桃成人精品视频在线播放| 亚洲一区二区三区免费在线观看| 欧美电影在线免费观看网站 | 久久婷婷成人综合色| 国产精品欧美日韩| 亚洲一区三区在线观看| 亚洲黄色在线| 麻豆国产精品777777在线| 国产精品一区二区久激情瑜伽 | 久久免费国产精品1| 夜夜嗨av色综合久久久综合网| 久久久久久午夜| 国产精品有限公司| 亚洲欧洲av一区二区| 欧美激情一区二区三区全黄 | 亚洲在线成人精品| 亚洲第一页自拍| 久久国产精彩视频| 国产精品揄拍一区二区| 亚洲欧美三级在线| 一区二区三区av| 一区二区电影免费观看| 亚洲欧洲另类| 另类激情亚洲| 永久91嫩草亚洲精品人人| 久久久之久亚州精品露出| 亚洲欧美一区二区视频| 国产伦精品一区二区三区高清版 | 久久人人爽人人爽| 久久久免费精品视频| 激情欧美亚洲| 免费国产一区二区| 麻豆精品传媒视频| 亚洲国产日韩一级| 亚洲欧洲另类国产综合| 欧美日本在线播放| 亚洲先锋成人| 亚洲色图自拍| 国产一区导航| 欧美高清视频一区| 欧美日韩视频| 久久国产欧美日韩精品| 久久久久综合| 亚洲精品日韩欧美| 亚洲午夜极品| 在线观看91久久久久久| 亚洲精品久久久久久久久| 国产精品福利影院| 久久免费的精品国产v∧| 久久综合九色欧美综合狠狠| 亚洲美女淫视频| 亚洲欧美影院| 亚洲激情网址| 亚洲综合电影一区二区三区| 国产精品自拍三区| 欧美激情成人在线视频| 国产精品劲爆视频| 久久综合中文| 国产精品拍天天在线| 亚洲国产成人一区| 国产婷婷色一区二区三区四区| 欧美第一黄网免费网站| 国产精品网曝门| 91久久国产综合久久| 国产亚洲成av人片在线观看桃| 亚洲国产精品第一区二区三区| 国产精品一区二区久久| 亚洲精品一区在线| 亚洲高清久久| 久久精品99国产精品酒店日本| 亚洲色诱最新| 欧美大片网址| 欧美不卡高清| 国产在线不卡| 午夜在线一区| 小处雏高清一区二区三区| 欧美精品久久一区| 男人插女人欧美| 国产真实久久| 亚洲综合导航| 亚洲欧美在线视频观看| 欧美精品三级在线观看| 麻豆精品视频在线观看| 国产精品美女黄网| 99成人免费视频| 亚洲国产精品久久人人爱蜜臀| 欧美有码在线观看视频| 久久99伊人| 国产精品美女主播| 一区二区三区欧美亚洲| 99精品视频一区| 免费观看成人网| 欧美高清在线视频| 亚洲动漫精品| 美腿丝袜亚洲色图| 欧美福利在线| 亚洲精选中文字幕| 欧美激情精品久久久| 亚洲福利视频三区| 亚洲欧洲日产国产网站| 久热精品在线视频| 欧美国产欧美亚洲国产日韩mv天天看完整 | 在线中文字幕一区| 亚洲自拍偷拍色片视频| 欧美三区免费完整视频在线观看| 亚洲精品偷拍| 亚洲一二三区在线观看| 国产精品亚洲综合| 午夜精品在线| 久久婷婷人人澡人人喊人人爽 | 欧美大片va欧美在线播放| 欧美激情一区二区三区在线视频 | 久久久亚洲精品一区二区三区| 久久精品亚洲精品| 久久女同互慰一区二区三区| 狼人社综合社区| 亚洲欧洲日夜超级视频| 欧美国产1区2区| 一区二区福利| 久久人人爽人人爽爽久久| 亚洲国产精品专区久久| 欧美日韩精品免费 | 欧美在线黄色| 亚洲国产精品一区二区www在线| 一个人看的www久久| 国产日韩在线看片| 欧美电影免费观看高清| 亚洲无限av看| 欧美va天堂| 亚洲一级一区| 在线观看国产成人av片| 欧美视频二区| 久久一区二区三区av| 中文日韩电影网站| 蜜臀99久久精品久久久久久软件| 日韩一级精品| 国产一区二区精品久久99| 欧美激情视频一区二区三区在线播放 | 久久久久成人精品| 午夜精品视频一区| 日韩视频在线免费| 欧美成人官网二区| 蜜桃av一区二区三区| 狠狠色综合网| 久久久久成人精品| 欧美暴力喷水在线| 一区二区视频免费在线观看| 久久狠狠婷婷| 欧美va天堂在线| 日韩亚洲在线| 亚洲精品黄色| 欧美高清自拍一区| av不卡在线看| 欧美中文在线观看国产| 伊人久久大香线| 欧美精品久久久久久久免费观看 | 欧美一区二区三区日韩| 欧美一区二区视频免费观看| 亚洲欧洲精品一区二区| 日韩视频精品在线观看| 免费视频一区| 99ri日韩精品视频| 亚洲永久字幕| 久久成人精品无人区|