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

            Uriel's Corner

            Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
            posts - 0, comments - 50, trackbacks - 0, articles - 594
            這套題糾結(jié)了一晚上。。

            1. 質(zhì)因數(shù)的個(gè)數(shù)
                這個(gè)還比較水。。
            //2007年清華大學(xué)計(jì)算機(jī)研究生機(jī)試題 質(zhì)因數(shù)的個(gè)數(shù)
            #include<math.h>
            #include
            <stdio.h>
            #include
            <stdlib.h>
            #include
            <string.h>

            int main() {
                
            int n, i, cnt;
                
            while(~scanf("%d"&n)) {
                    i 
            = 2; cnt = 1;
                    
            while(i <= sqrt(n)) {
                        
            if(n % i == 0{
                            n 
            /= i;
                            cnt
            ++;
                        }

                        
            else
                            
            ++i;
                    }

                    printf(
            "%d\n", cnt);
                }

                
            return 0;
            }


            2. 10進(jìn)制 VS 2進(jìn)制
                這題木有什么好想法。。發(fā)現(xiàn)網(wǎng)上一位大牛http://blog.csdn.net/herechaos/article/details/5397430也是直接做的。。就直接模擬之了。。結(jié)果就是跑得暴慢。。路過的大牛有什么好想法的不吝賜教啊。。
                PS: 方法見上面鏈接的大牛Blog,不過網(wǎng)上這位大牛的源碼AC不能,有幾處小bug。。
            //2007年清華大學(xué)計(jì)算機(jī)研究生機(jī)試題 10進(jìn)制 VS 2進(jìn)制
            #include<stdio.h>
            #include
            <stdlib.h>
            #include
            <string.h>

            int b[8010], c[80100], la, lb, lc;
            char a[8010];

            void pw(int x) {
                
            int i, j, k;
                memset(c, 
            0sizeof(c));
                c[
            0= 1;
                lc 
            = 1;
                
            for(i = 0; i < x; ++i) {
                    
            for(j = 0; j < lc; ++j) c[j] *= 2;
                    
            for(k = 0; k < lc || c[k]; ++k) {
                        c[k 
            + 1+= (c[k] / 10);
                        c[k] 
            %= 10;
                    }

                    lc 
            = k;
                }

                la 
            = (lc > la ? lc : la) + 1;
                
            for(i = 0; i < la; ++i) {
                    a[i] 
            += c[i];
                    a[i 
            + 1+= (a[i] / 10);
                    a[i] 
            %= 10;
                }

            }


            void div() {
                
            int i, j, cf, st, tp;
                la 
            = strlen(a);
                
            for(i = 0; i < la; ++i) a[i] -= '0';
                st 
            = 0;
                lb 
            = 0;
                
            while(a[la - 1|| st < la) {
                    
            if(a[la - 1& 1) b[lb++= 1;
                    
            else
                        b[lb
            ++= 0;
                    cf 
            = 0;
                    
            for(j = st; j < la; ++j) {
                        tp 
            = cf * 10 + a[j];
                        a[j] 
            = tp >> 1;
                        cf 
            = tp & 1;
                    }

                    
            if(!a[st]) st++;
                }

                memset(a, 
            0sizeof(a));
                
            for(i = 0; i < lb; ++i)
                    
            if(b[i]) pw(lb - i - 1);
                
            while(!a[la - 1]) la--;
            }


            int main() {
                
            while(~scanf("%s", a)) {
                    
            if(!strcmp(a, "0")) puts("0");
                    
            else {
                        div();
                        
            for(int i = la - 1; i >= 0--i) printf("%d", a[i]);
                        puts(
            "");
                    }

                }

                
            return 0;
            }


            3. 最小郵票數(shù)
                01背包。。一開始NC忘記判輸出0的情況了。。WA*n
            //2007年清華大學(xué)計(jì)算機(jī)研究生機(jī)試題 最小郵票數(shù)
            #include<stdio.h>
            #include
            <stdlib.h>
            #include
            <string.h>
            #include
            <algorithm>
            using namespace std;
            #define INF 0x3f3f3f3f

            int n, m, dp[1000], w[100];

            int main() {
                
            int i, j;
                
            while(~scanf("%d"&m)) {
                    scanf(
            "%d"&n);
                    
            for(i = 0; i < n; ++i) scanf("%d"&w[i]);
                    
            for(i = 1; i <= m; ++i) dp[i] = INF;
                    dp[
            0= 0;
                    
            for(i = 0; i < n; ++i) {
                        
            for(j = m; j >= w[i]; --j) {
                            
            if(dp[j - w[i]] == INF) continue;
                            
            else
                                dp[j] 
            = min(dp[j], dp[j - w[i]] + 1);
                        }

                    }

                    
            if(dp[m] == INF) puts("0");
                    
            else
                        printf(
            "%d\n", dp[m]);
                }

                
            return 0;
            }

            Feedback

            # re: 清華大學(xué)計(jì)算機(jī)研究生機(jī)試題-2007年[未登錄]  回復(fù)  更多評論   

            2012-02-19 22:45 by lau
            第一個(gè)你貌似跑的話會(huì)超時(shí)。你可以嘗試一下

            # re: 清華大學(xué)計(jì)算機(jī)研究生機(jī)試題-2007年  回復(fù)  更多評論   

            2012-02-19 23:13 by Uriel
            @lau
            嘗試又交了一次,10ms AC(九度OJ)
            不過我這個(gè)確實(shí)是過于偷懶,暴力了。。= =||
            有更快的方法分解質(zhì)因數(shù),我也沒太搞過。。
            久久99精品久久久久久动态图| 精品久久久久久国产三级| 久久av无码专区亚洲av桃花岛| 婷婷伊人久久大香线蕉AV| 国产福利电影一区二区三区久久老子无码午夜伦不 | 日韩欧美亚洲综合久久影院d3| 精品久久国产一区二区三区香蕉| 久久无码AV中文出轨人妻| 色综合久久久久| 久久亚洲中文字幕精品有坂深雪| 久久久久亚洲精品无码网址 | 久久精品国产福利国产秒| 久久亚洲熟女cc98cm| 久久99精品久久久久久不卡| 国产婷婷成人久久Av免费高清| 午夜视频久久久久一区 | 久久精品aⅴ无码中文字字幕不卡| 国产精品青草久久久久福利99| 国产综合久久久久| 婷婷伊人久久大香线蕉AV| 国产精品久久久久久久人人看| 成人a毛片久久免费播放| 国产一区二区三区久久| 国产亚洲综合久久系列| 亚洲AV无码久久精品狠狠爱浪潮| 亚洲精品无码久久毛片| 色综合久久88色综合天天 | 久久久久国色AV免费观看| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 久久国产免费直播| 久久精品成人影院| 欧美精品丝袜久久久中文字幕 | 国产精品va久久久久久久| 国产成人久久精品二区三区| 99久久成人18免费网站| 国产成人香蕉久久久久| 久久人人爽人爽人人爽av| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 国产亚洲综合久久系列| 久久精品无码一区二区三区| 91性高湖久久久久|