青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

coreBugZJ

此 blog 已棄。

POJ 3604 Professor Ben

  1/*
  2POJ 3604 Professor Ben
  3
  4
  5----問題描述:
  6
  7Professor Ben is an old stubborn man teaching mathematics in a university. He likes to puzzle his students with perplexing (sometimes boring) problems. Today his task is: for a given integer N, a1,a2,  ,an are the factors of N, let bi be the number of factors of ai, your job is to find the sum of cubes of all bi. Looking at the confused faces of his students, Prof. Ben explains it with a satisfied smile:
  8
  9Let's assume N = 4. Then it has three factors 1, 2, and 4. Their numbers of factors are 1, 2 and 3 respectively. So the sum is 1 plus 8 plus 27 which equals 36. So 36 is the answer for N = 4.
 10
 11Given an integer N, your task is to find the answer.
 12
 13
 14----輸入:
 15
 16The first line contains the number the test cases, Q(1 ≤ Q ≤ 500000). Each test case contains an integer N(1 ≤ N ≤ 5000000)
 17
 18
 19----輸出:
 20
 21For each test case output the answer in a separate line.
 22
 23
 24----樣例輸入:
 25
 261
 274
 28
 29
 30----樣例輸出:
 31
 3236
 33
 34
 35----分析:
 36
 37由算術(shù)基本定理,
 38
 39設(shè) N 有 k 個質(zhì)因子 P1, P2, . , Pk
 40
 41N = P1^A1 + P2^A2 + . + Pk^Ak
 42
 43設(shè) N 有 m 個因子 F1, F2, . , Fm
 44
 45Fj = P1^B1j + P2^B2j + . + Pk^Bkj    (0 <= Bij <= Ai)
 46對任意 Fx 和 Fy,當(dāng) x != y 時,必存在 r 使 Brx != Bry
 47
 48則 Fj 的因子數(shù)
 49Sj = (1+B1j) * (1+B2j) * . * (1+Bkj)
 50
 51則最終結(jié)果
 52ANS = S1^3 + S2^3 + . + Sm^3
 53    = (1+B11)^3 * (1+B21)^3 * . * (1+Bk1)^3 + 
 54      (1+B12)^3 * (1+B22)^3 * . * (1+Bk2)^3 + 
 55      . +
 56      (1+B1m)^3 * (1+B2m)^3 * . * (1+Bkm)^3
 57      其中  Bxy = 0, 1, 2, . , Ax
 58
 59合并同類項
 60ANS = (1^3 + 2^3 + . + (1+A1)^3) * 
 61      (1^3 + 2^3 + . + (1+A2)^3) * 
 62      . * 
 63      (1^3 + 2^3 + . + (1+Ak)^3)
 64
 65*/

 66
 67
 68/**********************************************
 69版本二:
 70
 71*/

 72
 73#include <iostream>
 74#include <cstdio>
 75#include <cstring>
 76
 77using namespace std;
 78
 79typedef  __int64  Lint;
 80
 81#define  N   5000009
 82#define  RN  2240
 83
 84int nprime, prime[ RN ];
 85
 86void init() {
 87        int i, j;
 88        memset( prime, 0sizeof(prime) );
 89        nprime = 0;
 90        for ( i = 2; i < RN; ++i ) {
 91                if ( 0 == prime[ i ] ) {
 92                        prime[ nprime++ ] = i;
 93                        for ( j = i + i; j < RN; j += i ) {
 94                                prime[ j ] = 1;
 95                        }

 96                }

 97        }

 98}

 99
100// calc 1^3 + 2^3 + . + (1+a)^3
101Lint sum( int a ) {
102        Lint n = a + 1;
103        Lint h = ( (n&1? ((n+1)/2*n) : (n/2*(n+1)) );
104        return h * h;
105}

106
107Lint solve( int n ) {
108        int i = -1, p, a;
109        Lint ans = 1;
110        while ( 1 != n ) {
111                do {
112                        ++i;
113                }
 while ( (i < nprime) && (n % prime[ i ] != 0) );
114                if ( i >= nprime ) {
115                        // n 是質(zhì)數(shù)
116                        a = 1;
117                        n = 1;
118                }

119                else {
120                        a = 0;
121                        p = prime[ i ];
122                        do {
123                                ++a;
124                                n /= p;
125                        }
 while ( n % p == 0 );
126                }

127                ans *= sum( a );
128        }

129        return ans;
130}

131
132int main() {
133        int td, n;
134        init();
135        scanf( "%d"&td );
136        while ( 0 < td-- ) {
137                scanf( "%d"&n );
138                printf( "%I64d\n", solve(n) );
139        }

140        return 0;
141}

142
143
144
145/**********************************************
146版本一:
147TLE
148*/

149/*
150#include <iostream>
151#include <cstdio>
152
153using namespace std;
154
155typedef  __int64  Lint;
156
157#define  N   5000009
158#define  RN  2240
159
160void init() {
161}
162
163// calc 1^3 + 2^3 + . + (1+a)^3
164Lint sum( int a ) {
165        Lint n = a + 1;
166        Lint h = ( (n&1) ? ((n+1)/2*n) : (n/2*(n+1)) );
167        return h * h;
168}
169
170Lint solve( int n ) {
171        int p = 1, a;
172        Lint ans = 1;
173        while ( 1 != n ) {
174                do {
175                        ++p;
176                } while ( (p < RN) && (n % p != 0) );
177                if ( RN <= p ) {
178                        // n 是質(zhì)數(shù)
179                        a = 1;
180                        n = 1;
181                }
182                else {
183                        a = 0;
184                        do {
185                                ++a;
186                                n /= p;
187                        } while ( n % p == 0 );
188                }
189                ans *= sum( a );
190        }
191        return ans;
192}
193
194int main() {
195        int td, n;
196        init();
197        scanf( "%d", &td );
198        while ( 0 < td-- ) {
199                scanf( "%d", &n );
200                printf( "%I64d\n", solve(n) );
201        }
202        return 0;
203}
204*/

205

posted on 2012-06-01 21:30 coreBugZJ 閱讀(1757) 評論(1)  編輯 收藏 引用 所屬分類: ACMAlgorithmMathematics課內(nèi)作業(yè)

Feedback

# re: POJ 3604 Professor Ben 2014-02-02 12:18 kkkwjx

N = P1^A1 + P2^A2 + . + Pk^Ak
這里為什么是相加而不是相乘?  回復(fù)  更多評論   


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美亚洲视频| 欧美激情在线免费观看| 国产精品亚洲网站| 午夜精品福利在线| 亚洲欧美资源在线| 国产欧美午夜| 噜噜噜噜噜久久久久久91| 久久精品二区亚洲w码| 亚洲电影一级黄| 亚洲黄色三级| 国产精品视频免费观看| 久久久午夜电影| 欧美精品精品一区| 亚洲一区三区视频在线观看| 亚洲欧美日本另类| 在线观看日韩www视频免费| 亚洲国产第一| 国产麻豆9l精品三级站| 欧美不卡福利| 国产精品久久久久9999高清| 欧美一级片久久久久久久| 久久久久久夜| 亚洲婷婷国产精品电影人久久| 亚洲你懂的在线视频| 亚洲电影成人| 亚洲综合色噜噜狠狠| 亚洲欧洲日本mm| 亚洲一区二区三区精品动漫| 国模套图日韩精品一区二区| 亚洲黄一区二区三区| 国产精品亚洲精品| 91久久精品国产91性色| 国产日韩欧美在线观看| 91久久黄色| 韩国av一区二区三区四区| 99成人在线| 亚洲国产精品t66y| 新狼窝色av性久久久久久| 亚洲美女av网站| 久久精品官网| 性欧美大战久久久久久久久| 欧美精品久久99久久在免费线| 欧美在线视频一区| 欧美性猛交视频| 亚洲国产免费看| 永久555www成人免费| 亚洲欧美国产va在线影院| 夜夜夜精品看看| 免费亚洲电影在线| 免费成年人欧美视频| 国产精品一区免费在线观看| 日韩网站在线看片你懂的| 亚洲国产精品久久精品怡红院| 欧美亚洲一区| 欧美亚洲在线播放| 国产精品国产自产拍高清av王其| 亚洲激情专区| 亚洲人成网站影音先锋播放| 久久中文字幕一区二区三区| 久久亚洲午夜电影| 国产亚洲精品一区二555| 午夜精品国产| 久久久91精品| 国产亚洲一级| 久久成人亚洲| 久久综合五月| 在线成人欧美| 欧美aa国产视频| 亚洲国产欧洲综合997久久| 最新日韩精品| 欧美精品久久一区二区| 亚洲精品国产精品久久清纯直播| 亚洲激情电影中文字幕| 欧美电影资源| 亚洲麻豆一区| 亚洲欧美视频| 黄色精品一二区| 玖玖精品视频| 亚洲精品你懂的| 日韩视频免费看| 欧美日韩中国免费专区在线看| 99在线精品视频在线观看| 亚洲欧美日韩国产成人| 国产欧美日韩亚州综合| 欧美专区18| 欧美激情第9页| 中文一区二区| 国产日韩在线亚洲字幕中文| 久久久777| 亚洲欧洲日本在线| 香蕉成人久久| 在线成人激情黄色| 欧美日韩国产一区| 午夜精品亚洲| 亚洲第一中文字幕在线观看| 亚洲深夜av| 狠狠操狠狠色综合网| 欧美国产精品久久| 亚洲一区二区三区四区五区午夜| 久久亚洲美女| 亚洲社区在线观看| 精品1区2区| 国产精品成人一区二区三区夜夜夜| 午夜在线一区| 亚洲乱码国产乱码精品精| 久久精品视频导航| 亚洲伦理久久| 狠狠色狠狠色综合日日tαg| 欧美日韩精品久久| 久久久久国产一区二区| 一区二区三区 在线观看视| 久久一二三区| 校园激情久久| 亚洲精品网站在线播放gif| 国产欧美一区二区色老头| 欧美国产日韩一二三区| 欧美中文在线字幕| 亚洲乱码国产乱码精品精 | 欧美aaaaaaaa牛牛影院| 在线视频你懂得一区二区三区| 久久久www成人免费无遮挡大片| 亚洲最新在线| 亚洲国产综合视频在线观看 | 亚洲天天影视| 亚洲激情不卡| 欧美成人一区二区三区| 久久久久9999亚洲精品| 亚洲欧美国产不卡| 亚洲视频在线观看视频| 亚洲精品1区| 在线精品观看| 精品51国产黑色丝袜高跟鞋| 国产精品自在欧美一区| 国产精品久久久久久久久婷婷| 欧美国产综合| 欧美国产第二页| 免费人成精品欧美精品| 久久影视精品| 久久久久久亚洲综合影院红桃| 午夜精品在线观看| 欧美亚洲免费在线| 欧美在线资源| 久久九九精品99国产精品| 久久精品99国产精品日本| 午夜在线视频观看日韩17c| 亚洲一区成人| 午夜在线精品偷拍| 欧美专区日韩视频| 久久精品一区二区三区不卡| 久久精品在线免费观看| 久久九九热re6这里有精品| 久久精品人人做人人爽电影蜜月| 久久国产天堂福利天堂| 久久久久一区| 欧美国产亚洲另类动漫| 欧美理论电影在线观看| 欧美手机在线视频| 国产精品免费在线| 国产综合亚洲精品一区二| 尤物在线精品| av成人黄色| 午夜精品久久久久久久男人的天堂| 午夜精品久久久久久久99樱桃 | 在线播放视频一区| 亚洲黄色一区| 在线中文字幕日韩| 欧美专区福利在线| 男人的天堂亚洲在线| 亚洲欧洲一级| 亚洲自拍偷拍视频| 久久中文字幕一区二区三区| 欧美日韩国产成人在线91| 国产精品麻豆成人av电影艾秋| 国产一区三区三区| 日韩一二三在线视频播| 亚洲小说欧美另类婷婷| 久久精品国产999大香线蕉| 欧美激情按摩| 亚洲综合色激情五月| 另类图片综合电影| 国产精品九九久久久久久久| 激情欧美日韩| 亚洲一区二区三区久久| 麻豆精品在线视频| 日韩视频在线一区二区三区| 久久xxxx精品视频| 欧美日韩免费高清一区色橹橹| 国产日本亚洲高清| 日韩亚洲欧美高清| 久久一区中文字幕| 一区二区三区日韩在线观看| 久久久人成影片一区二区三区 | 久久中文字幕一区二区三区| 国产精品二区影院| 亚洲人成在线播放网站岛国| 久久国产视频网| 中文在线一区| 欧美国产日本高清在线| 韩曰欧美视频免费观看| 亚洲综合色在线|