Ask HN: FizzBuzz for mathematicians ...
30 points| ColinWright | 13 years ago | reply
Some suggest proving sqrt(2) is irrational, but many technical types who aren't really mathematicians can do that because they've read enough popular math books. Similarly proving that there are infinitely many primes.
So, mathematicians, what would you suggest?
And for the non-mathematicians, what would you like to have explained, that you think every mathematician probably knows?
Added in edit: I thought this was a great discussion with some interesting suggestions, but I see it's been flagged off the front page.
http://hnrankings.info/4244266/
So that's that, another interesting discussion killed. Oh well, never mind.
[+] [-] algorias|13 years ago|reply
Well, fizzbuzz doesn't exactly require a masters degree either. Proving sqrt(2) is irrational requires at least some understanding of how math problems are approached (unless you do it completely from memory, which is also possible with fizzbuzz), so I would say it's the equivalent.
[+] [-] TillE|13 years ago|reply
I have a CS degree and took a bunch of math courses and did lots of proofs, but now (several years later) I'd struggle to write any of the suggested proofs.
[+] [-] SatvikBeri|13 years ago|reply
[+] [-] lotharbot|13 years ago|reply
It's just about as simple as FizzBuzz, and requires primarily symbolic manipulation. Anyone from any branch of mathematics (including applied math and statistics) should be able to do it in their sleep.
[+] [-] dllthomas|13 years ago|reply
[+] [-] ColinWright|13 years ago|reply
* Show that two irrationals can add up to a rational.
* Find three whole numbers in arithmetic progression whose product is a prime.
* Find a prime that is one less than a square. Now find another.
[+] [-] nhaehnle|13 years ago|reply
I don't think there's an agreed upon definition of what a "whole number" is. Then again, if you're just looking for how someone reacts to such a question, I suppose it's fine, if a bit silly.
[+] [-] alexeismart|13 years ago|reply
For 2, how about -3, -1 and 1.
For 3, 3 is the only example. One less than a square is n ^ 2 - 1 = (n+1)(n-1). For n=2 the answer is 3 (3*1). For n > 2 the result is clearly factorable into two numbers > 1.
[+] [-] dangoldin|13 years ago|reply
Edit: Nevermind - I just figured these out. Makes me feel a bit dumb now. That's what I get for not doing math for a few years. I really liked the last one - got me thinking.
[+] [-] tzs|13 years ago|reply
I know that 1 is not considered to be a prime now, but it was considered to be a prime by most mathematicians up through the 19th century, and Lehmer included it in his lists of primes as late as 1956.
[+] [-] dllthomas|13 years ago|reply
[+] [-] kurumo|13 years ago|reply
Two players play a game with a single six-sided die. The player that starts can only win by rolling a 1. If he or she doesn't win, the other player gets to roll; he or she can only win by rolling a 6. The game continues until one player wins. What's the probability the first player wins (eventually)?
[+] [-] debacle|13 years ago|reply
Player 1 wins based on the following series:
Chance to get a 1 (turn 1): 1/6 Chance to be allowed to roll: Previous chance to be allowed to roll * 5/6 (Chance player 1 didn't roll a 1) * 5/6 (Chance player 2 didn't roll a 6) Chance to get a 1 (turns 2+): Chance to be allowed to roll * Chance to get a 1
So... summation( 1/6 * (25/36)^(n-1) )
I don't know what that comes out to be.
[+] [-] stephencanon|13 years ago|reply
[+] [-] hypeibole|13 years ago|reply
What information does that give to you as an interviewer?
[+] [-] prophetjohn|13 years ago|reply
Fizzbuzz isn't trying to separate the professional programmers from the pretenders, its' trying to identify people who have no capacity for programming whatsoever. Fizzbuzz only requires basic knowledge of the syntax of any programming language and basic problem solving skills. I think a better equivalent would be something like "integrate x*e^x". Or maybe even some college-level algebra.
[+] [-] Locke1689|13 years ago|reply
However, since both problems are fairly trivial proof-by-contradictions, I would like every computer scientist to be able to solve them as well.
That said, my masters degree is in programming languages, so I may be exposed to a bit more math than the average software developer. I do not consider myself competent enough to be a mathematician, though.
[+] [-] kolbe|13 years ago|reply
I would also suggest this: Prove exp(pi*i)+1=0.
[+] [-] aviraldg|13 years ago|reply
[+] [-] riffraff|13 years ago|reply
Something less "cool" would be more apt imo (fizzbuzz itself is rather uninteresting).
[+] [-] gjulianm|13 years ago|reply
Another proof (requires more knowledge) is based on the structure of the real numbers. Let a and b be real numbers where a ≠ b. Then, there are infinite numbers between them. It's a pretty obvious statement.
Now, try to find any number between 0.99... and 1. You can't. So, if there isn't any number between 0.99 and 1, they are equal.
[+] [-] khyryk|13 years ago|reply
[+] [-] gcv|13 years ago|reply
[+] [-] unknown|13 years ago|reply
[deleted]
[+] [-] ColinWright|13 years ago|reply
[+] [-] dangoldin|13 years ago|reply
[+] [-] Locke1689|13 years ago|reply
Edit: If this is too easy, prove that g in G, g -> g^2 is a homomorphism iff G is abelian.
Note: I am not a mathematician.
[+] [-] hypeibole|13 years ago|reply
In that same vein, I'd suggest proving that a group G is abelian if and only if (ab)^2 = a^2.b^2, where a, b are in G.
It's not as straightforward as your question in the sense that proving it requires a little idea that you have to come up with.
[+] [-] seagaia|13 years ago|reply
[+] [-] klickverbot|13 years ago|reply
Not exactly relevant to practice, and utterly trivial, but I suppose nobody comfortable with formal math should any problem solving it on the spot.
[+] [-] hypeibole|13 years ago|reply
In any case I'm going to suggest this:
Q. Give two different proofs of the fundamental theorem of algebra.
[+] [-] bdittmer|13 years ago|reply
[+] [-] caustic|13 years ago|reply
[+] [-] dangoldin|13 years ago|reply
It's simple to figure out with pen and paper but the goal is to just confirm a basic level of competence.
[+] [-] ColinWright|13 years ago|reply
[+] [-] klickverbot|13 years ago|reply
[+] [-] unknown|13 years ago|reply
[deleted]
[+] [-] S4M|13 years ago|reply
EDIT: OK, that one is more for engineer. How about: find a bijection between R and P(N)?
[+] [-] ColinWright|13 years ago|reply
[+] [-] netvarun|13 years ago|reply
[+] [-] ColinWright|13 years ago|reply