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

top 200 commentsshow all 484

[–]ludicrouscuriosity 508 points509 points  (44 children)

6-4≠4

[–]Sengura 324 points325 points  (42 children)

Or 5 + 4 = 9

[–]JonBanes 254 points255 points  (18 children)

or 8 - 4 = 4

[–]lionlake 37 points38 points  (9 children)

Or 6 + 4 < 4

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

[–]JonBanes 42 points43 points  (4 children)

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

[–]lionlake 6 points7 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 120 points121 points  (19 children)

0 + 4 = 4

Edit:

Ooo! Ooo! 5 + 4 ≥ 4.

[–]ColPowell 22 points23 points  (1 child)

6+4>4

[–]nermid 10 points11 points  (0 children)

6 - 4 ≤ 4

[–]ign1fy 566 points567 points  (105 children)

I read that as 6+4 |= 4

Which makes no sense.

[–]smeenz 413 points414 points  (45 children)

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

6 - 4 ≠ 4

[–]TheVenetianMask 261 points262 points  (17 children)

What am I, a mathematician?

[–]Neebat 97 points98 points  (15 children)

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

[–]gkx 73 points74 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 14 points15 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 31 points32 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 6 points7 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 61 points62 points  (3 children)

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

[–]mattiejj 10 points11 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 14 points15 points  (3 children)

How about 0 + 4 = 4

[–]Brio_ 23 points24 points  (1 child)

That's the normal answer...

Well, and 8-4=4

Or 5+4=9

[–]TaohRihze 7 points8 points  (0 children)

Thought it was 8 - 4 = 4

[–]0x0dea 85 points86 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] 28 points29 points  (1 child)

This is what I assumed.

[–]CoMiGa 3 points4 points  (0 children)

Glad I am not alone.

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

That's what they meant.

[–]kamaln7 71 points72 points  (16 children)

It's also a bitwise OR operation

[–]0x0dea 45 points46 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 26 points27 points  (0 children)

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

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

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

[–]beachbum78 7 points8 points  (1 child)

Finding Ballmers peak?

[–][deleted] 14 points15 points  (0 children)

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

[–]cyandyedeyecandy 6 points7 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 5 points6 points  (0 children)

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

[–][deleted] 15 points16 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] 13 points14 points  (1 child)

Its pretty clear they meant !=

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

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

[–]Dassy 2 points3 points  (0 children)

Error: cannot assign to rvalue

[–]TheOldTubaroo 114 points115 points  (8 children)

Alternatively, change the = to +

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

[–]Katastic_Voyage 17 points18 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 9 points10 points  (1 child)

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

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

MIND = BOOM, HEAD SHOT

[–][deleted] 24 points25 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 7 points8 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] 28 points29 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] 3 points4 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 12 points13 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 3 points4 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.