#include <stdio.h>
#define U64 unsigned long long
int main() {
  U64 i;
  // (gcc-4.3) 100 млрд. - 44 минуты (2640 секунд);
  // 10 млрд. - 3 минуты 39 секунд (219 секунд);
  // 10 млрд. - 3 минуты 40 секунд (220 секунд);
  // 1 млрд. - 20.6 секунды;
  // 100 млн. - 1.946 секунды;
  // up to 1.8*10^20 (18 446 744 073 709 551 616)
  U64 N = 1000000000ULL; // 1 млрд.
  U64 k = 0;
  for (i = 0; i < N; i++) {
    k += i%10; // последняя цифра
  }
  printf ("%llu\n", k);
  return 0;
}gcc-4.3 -Wall -march=athlon64 -O3 -o _${NAME} ${NAME}.c
$ time ./_matrix 
4500000000
real    0m20.608s
user    0m20.609s
sys     0m0.000s
Время выполнения для N = 1 млрд - 20.6 секунды (см. выше).
CPU: Athlon II X2 240, 2800 MHz (L2 2x1024kB), DDR3 1333 MHz 9-9-9-24.













