#include <stdio.h> int main(int argc, char** argv) { const unsigned long long BIG = 10000000000; unsigned long long ans = 0; unsigned long long summand = 0; unsigned long long i; unsigned long long j; for (i = 1; i <= 1000; ++i) { summand = i; for (j = 1; j < i; ++ j) { summand *= i; summand %= BIG; } ans += summand; ans %= BIG; } printf("%lld\n",ans); }
Saturday, September 28, 2013
Problem 48 - Quickly done in C
I am supposed to be writing a paper for a class. I got about 3 sentences done of it, so it seemed like a good time to take a break and solve a project Euler problem. This problem was quite easy, and I used C for the sake of expediency and ease, but I would not be too surprised if I come back soon and redo this problem in a pretty crazy language - 64 bit integers, modulus, multiplication, and control structures are really all that is needed to solve this problem in the blink of an eye. (well, 16ms, which I imagine is less than the time it takes to blink an eye).
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment