You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
#include <iostream>
|
|
|
|
|
#include <queue>
|
|
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
|
|
class mainMenu
|
|
|
|
|
{
|
|
|
|
|
//Project Euler <20>bung 2
|
|
|
|
|
int result;
|
|
|
|
|
int max = 4000000;
|
|
|
|
|
std::queue <int> evens;
|
|
|
|
|
|
|
|
|
|
mainMenu()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void run()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
for (int prev = 0, cur = 1, temp = 0; cur < max;) {
|
|
|
|
|
temp = cur;
|
|
|
|
|
cur = prev + cur;
|
|
|
|
|
prev = temp;
|
|
|
|
|
if (cur % 2 == 0)
|
|
|
|
|
{
|
|
|
|
|
evens.push(cur);
|
|
|
|
|
std::cout << "current even: " << cur << std::endl;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
while (!evens.empty())
|
|
|
|
|
{
|
|
|
|
|
result += evens.front();
|
|
|
|
|
evens.pop();
|
|
|
|
|
}
|
|
|
|
|
std::cout << "Result: " << result << std::endl;
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int main(int argc, char const *argv[])
|
|
|
|
|
{
|
|
|
|
|
mainMenu menu;
|
|
|
|
|
|
|
|
|
|
menu.run();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|