• <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 飛天 閱讀(1605) 評論(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

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲精品乱码久久久久久中文字幕| 2020久久精品国产免费| 久久久久久毛片免费看| 久久国产影院| 久久亚洲精品成人无码网站 | 日本亚洲色大成网站WWW久久| 亚洲国产成人久久综合碰| 亚洲精品国产字幕久久不卡| 国内精品久久久久久野外| 久久精品国产福利国产琪琪| 综合网日日天干夜夜久久| 久久综合丁香激情久久| 久久久www免费人成精品| 91精品国产综合久久婷婷| 亚洲日本久久久午夜精品| 国产精品一区二区久久精品| 日本精品久久久久影院日本| 久久精品草草草| 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产99久久久国产精免费| 久久久久久夜精品精品免费啦 | 久久精品国产久精国产| 久久AV高潮AV无码AV| 久久久久久国产a免费观看不卡| 亚洲色婷婷综合久久| 午夜精品久久久久9999高清| 精品久久久久久国产| 久久亚洲春色中文字幕久久久 | 7国产欧美日韩综合天堂中文久久久久 | 久久亚洲高清观看| 国产精品久久久久久久久| 99精品久久久久久久婷婷| 久久久久女教师免费一区| 久久电影网一区| 久久九九全国免费| 色综合久久中文综合网| 狠狠色婷婷综合天天久久丁香| 亚洲AV乱码久久精品蜜桃| 久久久精品人妻一区二区三区蜜桃| 美女久久久久久| 久久笫一福利免费导航|