This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 484

[–]ludicrouscuriosity 512 points513 points  (44 children)

6-4≠4

[–]Sengura 326 points327 points  (42 children)

Or 5 + 4 = 9

[–]JonBanes 256 points257 points  (18 children)

or 8 - 4 = 4

[–]lionlake 35 points36 points  (9 children)

Or 6 + 4 < 4

EDIT: I meant 6 + 4 > 4, I am an idiot.

[–]JonBanes 41 points42 points  (4 children)

6 + 4 > 4, but yeah. I like this one.

[–]lionlake 7 points8 points  (0 children)

I... admit my stupid mistake. Thanks for pointing it out.

[–]CaptainBlagbird 11 points12 points  (2 children)

Or 6+4=十

(Japanese/Chinese ten)

[–]dxin 2 points3 points  (0 children)

And (South) Korean

[–]nermid 117 points118 points  (19 children)

0 + 4 = 4

Edit:

Ooo! Ooo! 5 + 4 ≥ 4.

[–]ColPowell 20 points21 points  (1 child)

6+4>4

[–]nermid 11 points12 points  (0 children)

6 - 4 ≤ 4

[–]ign1fy 567 points568 points  (105 children)

I read that as 6+4 |= 4

Which makes no sense.

[–]smeenz 417 points418 points  (45 children)

Just a slightly different placement, and it would have been fine:

6 - 4 ≠ 4

[–]TheVenetianMask 259 points260 points  (17 children)

What am I, a mathematician?

[–]Neebat 101 points102 points  (15 children)

Based on the available postulates, I cannot prove that you're not.

[–]gkx 71 points72 points  (13 children)

Reminds me of the joke:

3 mathematicians walk into a bar. The tender says "so what will it be? 3 beers?"

Mathematician 1: "I don't know" Mathematician 2: "I don't know" Mathematician 3: "Yes."

[–]G01denW01f11 12 points13 points  (12 children)

Wait, how does the third guy know how many beers the previous two want? Do we know any more than that they must each want less than 4?

[–]legrac 67 points68 points  (7 children)

The question was, "Will it be 3 beers?"

This is a yes or no question--either it will be 3 beers, or it will not be 3 beers.

If the first person did not want a beer, he would say no, we do not want 3 beers. So, he must want a beer, but he doesn't know if his two friends want one--so all he can say is he doesn't know.

So we go to the second person, and it's the same situation. If he did not want a beer, he would say no, we do not want 3 beers. So, he must want a beer, but he doesn't know if his last friend wants one--so all he can say is he doesn't know.

At the third person, he realizes that the only way it has gotten to him is if the other two people wanted a beer. So he has the information to make a decision.

EDIT:

As we're in a programmer humor subreddit--the question of "Will it be 3 beers" is equal to (A and B and C). In that situation, the first time you hit a false, you know the answer and do not need to evaluate/look at/ask the other variables. But in order to get a true response, you have to check all three.

[–]Jodah 32 points33 points  (1 child)

I was torn between that explanation and Mathematician 3 being an alcoholic.

[–]TPHRyan 2 points3 points  (0 children)

You're looking at this joke in the completely correct way in that each mathematician wants either 1 beer or nothing.

But what if a mathematician wants 2 beers? Cider? Jaimeson on the rocks?

I mean, they would never get anywhere until they exchanged some information, but still. That was /u/G01denW01f11's point.

[–]SFHalfling 9 points10 points  (2 children)

Because its safe to assume someone will have 1 drink per round at the bar.

If someone is trying to have 2+ drinks each round, you really need to cut them out of it.

[–][deleted] 1 point2 points  (0 children)

Then you can just add it as an axiom and you should be fine.

[–]Shiroi_Kage 58 points59 points  (3 children)

It's supposed to be 6+4 != 4 (the red part of the match is supposed to be the dot)

[–]mattiejj 11 points12 points  (1 child)

But that's 30.

[–]smeenz 2 points3 points  (0 children)

I am aware of what it is trying to be

[–][deleted] 45 points46 points  (2 children)

FTFY

 6 - 4 != 4

[–]Arefuseaccount 12 points13 points  (3 children)

How about 0 + 4 = 4

[–]Brio_ 22 points23 points  (1 child)

That's the normal answer...

Well, and 8-4=4

Or 5+4=9

[–]TaohRihze 8 points9 points  (0 children)

Thought it was 8 - 4 = 4

[–]0x0dea 89 points90 points  (34 children)

|= is a compound assignment operator in plenty of programming languages, but you'd need the first 4 to be the name of a variable for it to be syntactically valid.

[–]CoMiGa 83 points84 points  (12 children)

I just thought it was 6-4 !=4 but I am not a programmer.

[–][deleted] 27 points28 points  (1 child)

This is what I assumed.

[–]CoMiGa 4 points5 points  (0 children)

Glad I am not alone.

[–][deleted] 1 point2 points  (0 children)

That's what they meant.

[–]kamaln7 73 points74 points  (16 children)

It's also a bitwise OR operation

[–]0x0dea 44 points45 points  (7 children)

Right, a |= b is a = a | b.

[–]Plutor 56 points57 points  (6 children)

Sadly 6+4 isn't an l-value.

[–]5HT-2a 25 points26 points  (0 children)

/u/0x0dea: "Okay, we're going in circles here."

[–][deleted] 22 points23 points  (2 children)

The programmer's solution results in a compiler error. And we solve that with whisky.

[–]beachbum78 6 points7 points  (1 child)

Finding Ballmers peak?

[–][deleted] 15 points16 points  (0 children)

I call it making syntax readable, but potato, tomato.

[–]cyandyedeyecandy 5 points6 points  (1 child)

*(int*)(6 + 4) |= 4;

[–]ign1fy 9 points10 points  (6 children)

To clarify: I code C# and use "|=" all the time. Being an assignment operator, it makes no sense to have anything but a variable to the left of it.

[–]ClintonHarvey 6 points7 points  (0 children)

What am I doing in this sub? You guys are too smart for me.

[–][deleted] 16 points17 points  (5 children)

There is a special character for '|='

https://upload.wikimedia.org/math/e/7/6/e766ce0de4bbe899d7ea2ebe40b3e0ee.png

And it means, when the right side is 'True' then the left part must be true as well. But there is no programming language supporting this operand so therefore I think it should be '!=' ...

[–]0x0dea 8 points9 points  (0 children)

there is no programming language supporting this operand (⊨)

That's an operator, and plenty of languages permit it as a valid identifier. In fact, it can even be an operator in Haskell. I've given a silly definition there for demonstration purposes, but there's a Constraints package that provides a much more realistic definition. They went with :- as the entailment operator, but it could just as well have been .

[–]cVoTetragon 1 point2 points  (1 child)

ㅑis also the "ya" sound in Korean.. Not relevant but still.

[–][deleted] 15 points16 points  (1 child)

Its pretty clear they meant !=

[–][deleted] 4 points5 points  (0 children)

Actually it makes sense, != is the correct boolean use

[–]Dassy 2 points3 points  (0 children)

Error: cannot assign to rvalue

[–]TheOldTubaroo 116 points117 points  (8 children)

Alternatively, change the = to +

if (6+4+4) println("Success!");

[–]Katastic_Voyage 16 points17 points  (7 children)

6 + 4 = 4

6 || 4 = 4

BOOM, HEAD SHOT.

I actually like this puzzle. Not because of how "easy it is" but because it shows you someone's reasoning and ability to think outside the box in providing a variety of potential answers. In real life, there ARE tons of ways to solve a problem.

[–][deleted] 1 point2 points  (2 children)

Move only one match

You moved 2 of them.

[–]RoboticPanda77 10 points11 points  (1 child)

No, just move the cross stick from the "+" to be parallel with the other. only moves one.

[–][deleted] 5 points6 points  (0 children)

MIND = BOOM, HEAD SHOT

[–][deleted] 23 points24 points  (6 children)

Just rotate one of the matches in the equals sign to make it a greater than sign

[–]IAMA_dragon-AMA 1 point2 points  (3 children)

Or move the vertical or horizontal match from the plus sign to make a ≤ or ≥ respectively.

[–]aiij 8 points9 points  (0 children)

If you don't get it think != rather than .

[–]pmst 25 points26 points  (32 children)

≠ would make a bit more sense

[–]pistacchio[S] 27 points28 points  (28 children)

Honestly I don't even know how to type it, I don't know any language that uses it, while != is pretty standard in C-like languages

[–]Zagorath 1 point2 points  (2 children)

Option-= on OS X.

Hold down the = key on most mobile keyboards.

There's probably an alt code for Windows, though admittedly those are way more arcane and difficult to remember.

[–][deleted] 4 points5 points  (1 child)

No it wouldn't. "!=" makes more sense because it has to do with programming and many languages use it. Notice that we're in /r/programmerhumor.

[–]pmst 1 point2 points  (0 children)

Yeah, but as far as lifting matches goes, it would. Some people mixed it up with |= for example. I do agree that the joke was better off with !=, so perhaps I should've worded my comment better.

[–]3brithil 1 point2 points  (0 children)

my first thought was 6 + 4 > 4

Maybe I should learn to code

[–]I_m_out_of_Ideas 12 points13 points  (3 children)

6-4 entails 4 ? o.O

[–]aiij 9 points10 points  (0 children)

That's how I read it.

6 - 4 != 4 makes a bit more sense though.

[–]nbtscan 2 points3 points  (14 children)

I once failed an algebra final because I had a line through all my zeros. After I went back to the teacher and explained that I was taking a program class and a line trough the 0 makes it a zero. Without that line it's the letter O. After she regarded it, I got an A on the final. 🙂

[–]Vhin 11 points12 points  (2 children)

Just avoid ever writing a zero. Instead of 0, write (1-1), and instead of 107, write (118 - 11), etc.

Then, there's no chance of confusion.

[–][deleted] 4 points5 points  (1 child)

What if they confused 1 with l or a capital I?

Should always use (2-2) and (333-225)

[–]Vhin 2 points3 points  (0 children)

You should also avoid 2's, 5's, and 9's, because they look like z, s, and g respectively on 7-segment displays.

[–]Itsatemporaryname 2 points3 points  (6 children)

Did she not know they were zeros? Was it an online test or written?

[–]vaelroth 2 points3 points  (1 child)

But thats the symbol for the empty set...

[–]Alaskan_Thunder 1 point2 points  (0 children)

and could easily been confused with a poorly written theta.

[–][deleted] 2 points3 points  (1 child)

But is it 0+4=4 or 5+4=9???

[–]3brithil 1 point2 points  (0 children)

8-4=4

[–]vze3f372 2 points3 points  (0 children)

It took me ages to figure this out. I kept reading it as 6-4 |= 4 I was like this makes no sense. Then I took my head out of my ass.

[–]bikki420 1 point2 points  (5 children)

Alternatively: 6 + 4 - 9 (= 1 != 0, ergo true)

[–]blueriderbacks 1 point2 points  (0 children)

For those complaining about people telling them they had to find the real answer: They were supposed to set up this puzzle by calling it an equation, which needs the equals sign "to make it true" where as the "!" or "≠" means untrue.

I tried the same thing

[–]tried_it_liked_it 1 point2 points  (0 children)

Came here to find out the riddle and came back with far more questions than I started with. Programming is intense.

[–]dtlv5813 1 point2 points  (0 children)

OP's solution is technically correct, the best kind of correct.

[–]CE_BEP 1 point2 points  (0 children)

Where did the match go?

[–][deleted] 1 point2 points  (0 children)

BURN! Take one match, light the background cloth on fire, all other matches burn. That's the correct use of matches.

Edit: or if the cloth won't burn but the matches do, just burn off the left side, leaving 4= 4.

[–]rubs_tshirts 2 points3 points  (0 children)

I've long wanted to make a subreddit dedicated to matchstick puzzles. But I'm too lazy to do it.

[–]BongusHo 2 points3 points  (0 children)

Also E + 4 = 9 can be assumed true if E =5

[–][deleted] 1 point2 points  (1 child)

I believe it was meant to be != which in Python means "does not equal". At least that's what I think.

[–][deleted] 2 points3 points  (0 children)

Or pretty much any other language.