/* * YOUR INFO HERE! */ // FINAL VERSION: int sum_mults_3_and_5(int top){ int n = (top-1)/3; int m = ((n*n)+n)/2; int c = m*3; n = (top+4)/15; m = 15*n; c += m*n; m += 5; if (m < top){ c += m; } return c; } #ifdef EULER_PROBLEM // BUILDING AREA: struct Euler_In{}; struct Euler_Result{ int counter; }; static const int TOP = 1000; inline Euler_Result euler_main(Euler_In in){ Euler_Result result; result.counter = sum_mults_3_and_5(TOP); return result; } void euler_print(Euler_Result answer, Euler_In in){ printf("%d\n", answer.counter); } #define EULER_CHECK bool euler_check(Euler_Result answer, Euler_In in){ bool result; int counter = 0; for (int i = 0; i < TOP; ++i){ if ((i % 3) == 0 || (i % 5) == 0){ counter += i; } } printf("answer = %d\n", counter); result = (answer.counter == counter); return result; } #endif