
具体条件都在图片里了,就看看怎么编程或者有啥好思路的分享分享
#include <iostream>
#include <stdexcept>
class SP
{
public:
SP(int n, int k) : _n(n), _k(k)
{
if (n < 1 || k < 1)
throw std::invalid_argument("invalid n or k");
}
static int power(int m, int n)
{
int r = 1;
for (int i = 1; i <= n; i++)
r *= m;
return r;
}
int fun() const
{
int s = 0;
for (int i = 1; i <= _n; i++)
s += power(i, _k);
return s;
}
void show() const
{
std::cout << fun() << std::endl;
}
private:
int _n;
int _k;
};
int main()
{
try
{
int n, k;
std::cin >> n >> k;
SP s(n, k);
s.show();
}
catch (const std::exception &e)
{
std::cerr << e.what() << '\n';
return 1;
}
return 0;
}