0002.c 406 B

123456789101112131415161718192021222324
  1. #include <stdio.h>
  2. #include <stdint.h>
  3. int
  4. main(int argc, const char **argv)
  5. {
  6. uint64_t sum = 2;
  7. uint64_t t = 0;
  8. uint64_t fib = 2;
  9. uint64_t fib_old = 1;
  10. uint64_t upper_limit = 4000000;
  11. while ( fib < upper_limit ) {
  12. t = fib_old;
  13. fib_old = fib;
  14. fib += t;
  15. sum += ( fib < upper_limit ) * (( (fib & 1) == 0 ) * fib);
  16. }
  17. printf("Result = %ld!\n", sum);
  18. (void) argc; (void) argv;
  19. return 0;
  20. }