有一个很关键的数学函数:pow(double n,double k),用来计算n的k次方。比如pow(2,3),则函数返回8(即2^3 = 8),该函数包含在头文件
C++代码如下:
#include
#include
void main()
{
long n,k;
long sum = 0;
cout<<"输入n值:"<
cout<<"输入k值:"<
for(int i = 1; i <= n; i++)
sum += pow(i,k);
cout<
#include
int power(int n, int k)
{
if (n < 1 || k < 1) return 1;
int i = k; int j = 1;
do {
j *= n;
i --;
}while(i);
return j;
}
int main(void)
{
int n = 0; int k = 0; int sum = 0;
printf("请输入n, k的值");
scanf("%d %d", &n, &k);
for (i = 1; i <= n; i ++)
sum += power(i, k);
printf("求和=%d", sum);
return 0;
}
#include
#include
using namespace std;
int sumnk(int sum,int n,int k);
int main()
{
int sum(0),int n(0),int k(0);
cin >> n >> k;
cout << sumnk(sum,n,k) << endl;
return 0;
}
int sumnk(int sum,int n,int k)
{
if(n == 1)
{
sum += 1;
return sum;
}
sum += pow(float(n),k);
--n;
sumnk(sum,n,k);
}
#include
using std::pow;
long powk(int n)
{
long sum =0;
for(int i=1;i<=n;i++)
{
sum+= pow(i,k)
}
return sum;
}
有数据范围吗?这个很容易溢出啊。