提交时它说Compilation Error,提示说pow()函数问题?高手帮看一下
#include <iostream>
#include<cmath>
using namespace std;
bool judge (int n);
int getx (int n);
int getk (int n);
int main ()
{
int n;
while (cin>>n)
{
if(n<0||n>pow(10,8))
{
exit(1);
}
else if(n==0)
{
break;
}
else if (judge(n))
{
cout<<getx(n)<<" "<<getk(n)<<endl;
}
else
{
cout<<"0 0"<<endl;
}
}
return 0;
}
bool judge (int n)
{
for (int a=sqrt(n);a>1;a--)
{
for (int i=2; pow(a,i) <=n;i++)
{
if ( pow(a, i)==n )
{
return true;
}
}
}
return 0;
}
int getx(int n)
{
for (int a=sqrt(n);a>1;a--)
{
for (int i=2;pow(a, i)<=n;i++)
{
if (pow(a ,i)==n)
{
return a;
}
}
}
return 0;
}
int getk(int n)
{
for (int a=sqrt(n);a>1;a--)
{
for (int i=2;pow(a, i)<=n;i++)
{
if (pow(a ,i)==n)
{
return i;
}
}
}
return 0;
}
[解决办法]
需要链接数学库libm,例如g++ -lm main.cpp