this post was submitted on 28 Jan 2024
280 points (95.5% liked)

Programmer Humor

19721 readers
90 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 97 points 10 months ago (4 children)

While this doesn't work all the time, when it does, it's really fast. Similar to the isPrime function, it's correct most of the time and is much faster than alternative implementations:

function isPrime(number) {
    return false;
}
[–] [email protected] 36 points 10 months ago* (last edited 10 months ago) (3 children)

What your code can do is run this first and if it returns false then do a quick double check using a traditional isPrime function. Really speeds things up!

[–] [email protected] 25 points 10 months ago (1 children)

I mean, it has a 99.999%+ success rate on a large enough sample and I can live with that.

[–] [email protected] 6 points 10 months ago

Nah, you've always got to check the corner cases. It's a variation on Murphy's Law - you don't encounter corner cases when you're developing a program but corner cases are 99 percent of an everyday user's interaction.

[–] [email protected] 5 points 10 months ago (1 children)

Good idea, but it would be much faster if you do the double-check on true instead.

[–] [email protected] 1 points 10 months ago

This is a power(ful) idea.

Are my stats/programmers in the house?

[–] [email protected] 4 points 10 months ago

Better. Return true if the number is in a stored list of known primes, otherwise return false right away. But then, start a separate thread with an actual verification algorithm. When the verification is done, if it was actually a prime number, you just crash the program with a WasActuallyPrime exception.

[–] [email protected] 16 points 10 months ago (1 children)

asymptotically this is 100% correct!

[–] [email protected] 5 points 10 months ago (1 children)

What would be the accuracy on something like a 64bit unsigned integer?

[–] [email protected] 2 points 10 months ago (3 children)

50/50 chance of being right in O(1) time

[–] [email protected] 8 points 10 months ago

It's right much more often than just 50/50.

[–] andnekon 5 points 10 months ago

50/50 would be for isOdd with the same implementation

[–] Lmaydev 3 points 10 months ago

Primes are not that common especially as numbers get bigger.

It'll be right the vast majority of times.