Problem 3
Well...
I'm sure there is a lot of other cheats in Internet.
JavaScript (SpiderMonkey):
var num = 600851475143;
var ans = 0;
for(var div = 3; ; div += 2) {
if(!(num % div)) {
do {num /= div;} while (!(num % div));
if(num == 1) {
ans = div;
break;
}
}
}
print(ans);
(time: 0.02s memory: 4984 kB)
Congratulations, the answer you gave to problem 3 is correct.
You are the 127054th person to have solved this problem.
UPDATED at 16 May 2012: Solution with one loop:
var num = 600851475143;
var div = 2;
while (num > 1) {
if (0 == (num % div)) {
num /= div;
div--;
}
div++;
}
print(div);
(time: 0.02s memory: 4984 kB)
No comments:
Post a Comment