一道简单的ACM题,c++
求一个实数的非负整数次幂,这个整数可达5000000我写的程序是#include<iostream>#include<iomanip>usingnamespacestd;...
求一个实数的非负整数次幂,这个整数可达5000000
我写的程序是
#include<iostream>
#include<iomanip>
using namespace std;
long double b,s,t;
int main()
{
int n;
long double aa(long double b,int n);
while(cin>>b)
{
cin>>n;
t=aa(b,n);
cout<<std::fixed<<setprecision(0)<<t;
}
return 1;
}
long double aa(long double b,int n)
{
s=1;
if(n==0)
return s;
else if(n%2==0)
{
s=aa(b,n/2)*aa(b,n/2);
return s;
}
else
{
s=b*aa(b,n/2)*aa(b,n/2);
return s;
}
}
可是是runtime error
有什么错误吗
怎么搞 展开
我写的程序是
#include<iostream>
#include<iomanip>
using namespace std;
long double b,s,t;
int main()
{
int n;
long double aa(long double b,int n);
while(cin>>b)
{
cin>>n;
t=aa(b,n);
cout<<std::fixed<<setprecision(0)<<t;
}
return 1;
}
long double aa(long double b,int n)
{
s=1;
if(n==0)
return s;
else if(n%2==0)
{
s=aa(b,n/2)*aa(b,n/2);
return s;
}
else
{
s=b*aa(b,n/2)*aa(b,n/2);
return s;
}
}
可是是runtime error
有什么错误吗
怎么搞 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询