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

            飛天

            快樂的生活......

             

            [ACM 1002] 數字游戲

            數字游戲
            Time Limit:1000MS  Memory Limit:1024K

            Description:

            最近Catcher對數字游戲很感興趣,他發明了一種新的游戲,給出一個數N,問N是否能表示成某個正整數X的K次冪(K>1),N可能有多種表示方法,請找出最大的X并輸出相應的K。例如 16=2^4=4^2,64=4^3=2^6=8^2則16應表示為4^2,64應表示為8^2。

            Input:

            每行一個正整數N,輸入文件以0為結束標志。(0<N<10^8)

            Output:

            每行有兩個整數,如果能表示,則輸出X K,(中間用一個空格隔開)如果不能,則輸出0 0;

            Sample Input:

            5
            4
            16
            27
            0
            

            Sample Output:

            0 0
            2 2
            4 2
            3 3
            

            Source:

            Jin Qiwei
            /*
            **    Author    :flysky
            **  date    :2008-01-20    
            **    Description: 
            http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1002
            */

            #include 
            <iostream>
            #include 
            <math.h>
            using namespace std;

            #define MAX 50

            void solve(int number)
            {
                
            int k=sqrt(number);
                
            for(int i=k;i>1;--i)
                
            {
                    
            int j=2;
                    
            bool loop=true;
                    
            while(loop)
                    
            {
                        
            if(pow(i,j)==number)
                        
            {
                            cout
            <<i<<" "<<j<<endl;
                            
            return;
                        }

                        
            else if(pow(i,j)>number)
                            loop
            =false;
                        
            else
                            j
            ++;
                    }

                }

                cout
            <<0<<" "<<0<<endl;
            }


            int main()
            {
                
            int input[MAX];
                
            int len=0;
                
            while((cin>>input[len])&&input[len]!=0)
                
            {
                    
            if(input[len]<0||input[len]>pow(10,8))
                        
            continue;
                    len
            ++;
                }

                
            for(int i=0;i<len;++i)
                    solve(input[i]);
                
            return 0;
            }

            posted on 2008-01-20 13:30 飛天 閱讀(1606) 評論(2)  編輯 收藏 引用 所屬分類: ACM

            評論

            # re: [ACM 1002] 數字游戲 2008-08-23 11:03 dengxp

            為什么我提交總是通不過,下面是錯誤提示


            (9) : error C2668: “sqrt”: 對重載函數的調用不明確
            VC8\include\math.h(581): 可能是“long double sqrt(long double)”
            VC8\include\math.h(533): 或“float sqrt(float)”
            VC8\include\math.h(128): 或“double sqrt(double)”
            試圖匹配參數列表“(int)”時
            (16) : error C2668: “pow”: 對重載函數的調用不明確
            VC8\include\math.h(575): 可能是“long double pow(long double,int)”
            VC8\include\math.h(527): 或“float pow(float,int)”
            VC8\include\math.h(489): 或“double pow(double,int)”
            試圖匹配參數列表“(int, int)”時
            (21) : error C2668: “pow”: 對重載函數的調用不明確
            VC8\include\math.h(575): 可能是“long double pow(long double,int)”
            VC8\include\math.h(527): 或“float pow(float,int)”
            VC8\include\math.h(489): 或“double pow(double,int)”
            試圖匹配參數列表“(int, int)”時
            (36) : error C2668: “pow”: 對重載函數的調用不明確
            VC8\include\math.h(575): 可能是“long double pow(long double,int)”
            VC8\include\math.h(527): 或“float pow(float,int)”
            VC8\include\math.h(489): 或“double pow(double,int)”
            試圖匹配參數列表“(int, int)”時
              回復  更多評論   

            # re: [ACM 1002] 數字游戲 2008-08-25 09:29 飛天

            @dengxp
            以上程序是在Dev C++ 4.9.9.2上編譯。
            在vs2005里sqrt,pow找不到對應的重載函數,所以要修改一下:
            #include "stdafx.h"


            #include <iostream>
            #include <math.h>
            using namespace std;

            #define MAX 50

            void solve(int number)
            {
            int k=sqrt((float)number);
            for(int i=k;i>1;--i)
            {
            int j=2;
            bool loop=true;
            while(loop)
            {
            if(pow((float)i,j)==number)
            {
            cout<<i<<" "<<j<<endl;
            return;
            }
            else if(pow((float)i,j)>number)
            loop=false;
            else
            j++;
            }
            }
            cout<<0<<" "<<0<<endl;
            }

            int main()
            {
            int input[MAX];
            int len=0;
            while((cin>>input[len])&&input[len]!=0)
            {
            if(input[len]<0||input[len]>pow(10.0,8))
            continue;
            len++;
            }
            for(int i=0;i<len;++i)
            solve(input[i]);
            return 0;
            }  回復  更多評論   

            導航

            統計

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            Blogs

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久国产精品一国产精品金尊| 久久99精品国产99久久6| 漂亮人妻被中出中文字幕久久| 热久久视久久精品18| 香蕉久久夜色精品升级完成| 久久综合九色综合网站| 国产成人久久精品二区三区| 亚洲午夜无码AV毛片久久| 国产精品18久久久久久vr| 久久久久久噜噜精品免费直播| 久久AV高潮AV无码AV| 国产精品久久一区二区三区| 久久中文字幕无码专区| 色婷婷综合久久久久中文一区二区| 一级做a爰片久久毛片人呢| 99久久夜色精品国产网站| 日本免费久久久久久久网站| 色综合久久久久无码专区| 欧美久久久久久精选9999| 99国产欧美精品久久久蜜芽| 亚洲色大成网站www久久九| 久久久久国产亚洲AV麻豆| AV狠狠色丁香婷婷综合久久| 精品久久久久久中文字幕大豆网| 91亚洲国产成人久久精品网址| 久久人人爽人人爽人人片AV不| 少妇熟女久久综合网色欲| 久久久久97国产精华液好用吗| 国产精品久久一区二区三区| 久久99精品久久只有精品| 久久精品国产亚洲AV麻豆网站| 久久久久人妻一区二区三区| 亚洲国产成人精品无码久久久久久综合 | 亚洲精品无码专区久久久| 亚洲精品WWW久久久久久| 伊人热人久久中文字幕| 久久久久久久综合日本亚洲| 国内精品久久久久久99蜜桃| 成人久久精品一区二区三区| 久久精品国产亚洲网站| 久久99毛片免费观看不卡|