申明:
本博客内容为算法竞赛入门经典(第二版)课后习题。基于C++11语言编写的。为原创,并没有参考源代码。由于作者处于学习中。难免在算法中会有一些错误。读者发现错误可以留言一起讨论。代码仅供参考,如有引用,请注明出处。
#include <iostream>
#include <cmath>
#include <vector>
#include <string>
#include <algorithm>
class DAFF
{
public:
DAFF(int q,int w,int e)
{
i = q;
j = w;
k = e;
}
~DAFF()
{
std::cout << "Constructor called." << std::endl;
}
void daffodil();
void show();
private:
int sum, i, j, k;
std::vector<int> V1;
};
void DAFF::show()
{
sort(V1.begin(),V1.end());
for (std::vector<int>::iterator i = V1.begin();i < V1.end();++i)
{
std::cout << *i << std::endl;
}
}
void DAFF::daffodil()
{
for (i = 1; i < 10; i++)
{
for (j = i + 1; j < 10; j++)
{
for (k = j + 1; k < 10; k++)
{
sum = pow(i, 3) + pow(j, 3) + pow(k, 3);
if (100 <= sum && sum <= 999)
{
V1.push_back(sum);
}
}
}
}
}
int main()
{
DAFF daff(1,1,1);
daff.daffodil();
daff.show();
return 0;
}