#include <iostream>

int main(void)
{
  auto pow_int = [] (int x, int y) {
    int i, mult = 1;
    for (i=0; i<y; i++)
      mult *= x;
    return mult;
  };

  auto get_sum = [] (int min, int max, bool is_even)
  {
    int i, sum = 0;
    for (i=min; i<max+1; i++)
      sum += (i%2==0 && is_even || i%2==1 && !is_even) ? i : 0;
    return sum;
  };

  /* 1 */
  std::cout << "1) " <<  get_sum(1, 10, true) << std::endl;

  /* 2 */
  int even_sum = get_sum(1, 100, false), odd_sum = get_sum(1, 100, true);
  std::cout << "2) Odd: " << even_sum <<
               ", Even: " << odd_sum <<
               ", All: " << even_sum + odd_sum << std::endl;
  /* 3 */
  std::cout << "3) y = 5x + 8;" <<std::endl;
  for (int i=0; i<=10; i++)
    std::cout << "y=" << 5*i+8 << "[x=" << i << "]" << std::endl;

  /* 4 */
  int pow_sum = 0;
  for (int j=10; j<=90; j+=20)
    pow_sum += pow_int(j, 3);
  std::cout << "4) " << pow_sum << std::endl;
}
