• <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>

            uva 10177 - (2/3/4)-D Sqr/Rects/Cubes/Boxes?

               
                  Fig: A 4x4 Grid                         Fig: A 4x4x4 Cube 


               這是一道數(shù)學(xué)題吧。想清楚之后就發(fā)現(xiàn)就是求累加和。
               問題是給定一個(gè)正方形(體,超體),求其中的所有的正方形(體,超體),長方形(體,超體)。 比如,4 * 4的正方形中,有14個(gè)正方形,
            22個(gè)長方形,4 * 4 * 4的立方體中有36個(gè)正方體,180個(gè)長方體。依次類推,超正方體指的是四維空間。
               觀察一下一個(gè)4*4正方形中,仔細(xì)驗(yàn)證一下就會(huì)發(fā)現(xiàn),正方形的個(gè)數(shù)是 Σ(4 - i + 1) * (4 - i + 1)(其中i從1到4),長方形的個(gè)數(shù)是 
            Σ(4 - i + 1) (其中j從1到4) * Σ(4 - j + 1)(其中j從1到4)。如果變成3維的就多一層k,k也從1變化到4。如果變成4維的就再多一層l,
            l也從1變化到4。
               然后變換一下,就可以得到s2(n) = 1^1 + 2^2 + ... + n^n,s3(n)則是對立方的累加和,s4(n)則是對四次方的累加和。
               再計(jì)算r2(n)。可以先把正方形包括在內(nèi)計(jì)算出所有的和。那么r2(n) = Σ(n - i + 1) * Σ(n - j + 1) - s2(n)。如果直接進(jìn)行這個(gè)式子
            的求和話很復(fù)雜。再觀察一下這個(gè)式子,因?yàn)閚 - i + 1的變化范圍就是1到n,那么上面的式子可以變化為 r2(n) = ΣΣi * j - s2(n)。
            意思是求i*j的和,i和j都是從1變化到n。很簡單就可以得到r2(n) = pow(n * (n + 1) / 2, 2) - s2(n)。同樣的求和可以得到,
            r3(n) = pow(n * (n + 1) / 2, 3) - s3(n)。r4(n) = pow(n * (n + 1) / 2, 4) - s4(n)。
               另外如果不知道平方和,立方和,四次方和的公式,也可以迭代計(jì)算,復(fù)雜度也是O(100)。這樣的話,根本不需要使用這些難記憶的公式了。

               代碼如下:
               
            #include <stdio.h> 
            #include <math.h>
            unsigned long long s2[101];
            unsigned long long r2[101];
            unsigned long long s3[101];
            unsigned long long r3[101];
            unsigned long long s4[101];
            unsigned long long r4[101];

            int main()
            {
                unsigned long long i = 0;
                while (i <= 100)
                {
                    s2[i] = i * (i + 1) * (2 * i + 1) / 6;//平方和
                    s3[i] = i * i * (i + 1) * (i + 1) / 4;//立方和
                    s4[i] = i * (i + 1) * (6 * i * i * i + 9 * i * i + i - 1) / 30;//四次方和
                    r2[i] = pow(i * (i + 1) / 2, 2) - s2[i];
                    r3[i] = pow(i * (i + 1) / 2, 3) - s3[i];
                    r4[i] = pow(i * (i + 1) / 2, 4) - s4[i];
                    ++i;
                }
                
                int nN;
                while (scanf("%d", &nN) != EOF)
                {
                    //printf("%I64u %I64u %I64u %I64u %I64u %I64u\n", s2[nN], r2[nN], s3[nN], r3[nN], s4[nN], r4[nN]);
                    printf("%llu %llu %llu %llu %llu %llu\n", s2[nN], r2[nN], s3[nN], r3[nN], s4[nN], r4[nN]);
                }
                
                return 0;
            }

            posted on 2012-04-14 21:00 yx 閱讀(1131) 評論(0)  編輯 收藏 引用 所屬分類: 解題報(bào)告

            <2012年5月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導(dǎo)航

            統(tǒng)計(jì)

            公告

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            me

            好友

            同學(xué)

            網(wǎng)友

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            91麻精品国产91久久久久| 久久久久亚洲AV片无码下载蜜桃 | 久久久久国产精品三级网| 国内精品伊人久久久久| 久久久久亚洲AV无码专区桃色| 亚洲国产精品一区二区三区久久| 99久久精品免费看国产一区二区三区 | 热RE99久久精品国产66热| 久久亚洲精品无码AV红樱桃| 91精品国产色综久久| av色综合久久天堂av色综合在| 精品无码久久久久久久动漫 | 久久99热国产这有精品| 色99久久久久高潮综合影院| 久久午夜伦鲁片免费无码| 久久久久亚洲AV无码专区网站| 久久精品99久久香蕉国产色戒| 一本色道久久综合| 久久精品国产清自在天天线| 国内精品久久久久久99蜜桃| 久久无码AV一区二区三区| 久久夜色精品国产www| 青青青青久久精品国产| 97精品国产91久久久久久| 伊人久久大香线蕉综合Av| 日本WV一本一道久久香蕉| 午夜福利91久久福利| 热RE99久久精品国产66热| 久久性生大片免费观看性| 久久久人妻精品无码一区| 久久精品女人天堂AV麻| 久久99精品久久久久久不卡| 国产精品久久久99| 久久九色综合九色99伊人| 久久精品亚洲福利| 久久成人精品| 国产精品久久久久久久久久影院| 久久乐国产精品亚洲综合| 久久这里有精品视频| 中文精品99久久国产 | 久久久久综合网久久|