首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

提交时它说Compilation Error,提示说pow()函数有关问题?高手帮看一下

2013-11-25 
提交时它说Compilation Error,提示说pow()函数问题?高手帮看一下#include iostream#includecmathusing

提交时它说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

引用:
#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;
}

[解决办法]
#include <math> 
[解决办法]
以后直接贴编译器提示的错误信息。这样更容易看出问题所在,更能迅速解决问题。
[解决办法]
看不出有什么问题
[解决办法]
提交的时候?搞竞赛的?如果是搞竞赛的话,目测exit(1)这句有问题

热点排行