飛天

快乐的生活......

 
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

搜索

最新评论

阅读排行榜

评论排行榜