Hey that's pretty cool, though. Nice one.
Hey that's pretty cool, though. Nice one.
Code:#include <cmath> #include <complex> bool euler_flip(bool value) { return std::pow ( std::complex<float>(std::exp(1.0)), std::complex<float>(0, 1) * std::complex<float>(std::atan(1.0) *(1 << (value + 2))) ).real() < 0; }
Giant In the Playground Games
That's all I'll say.
Last edited by CornedBee; 03-28-2009 at 11:42 AM.
All the buzzt!
CornedBee
"There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
- Flon's Law
There's a whole book of these problem called Knights and Knaves, something like this:
Knights and Knaves: Knights and Knaves Logic Puzzle
Knights always tell the truth and Knaves always lie. There was a second book about Humans and Vampires. Humans always tell the truth, vampires always lie, insane humans think they are telling the truth but lie, and insane vampires think they are lying but always tell the truth. Then there's a bunch of riddles of this sort.
If you like this, also check out The Puzzling Adventures of Dr. Ecco
Last edited by CornedBee; 03-28-2009 at 11:42 AM.
Its faster to just check if a number, modulo 6469693230 has a prime remainder, since all prime numbers do.
Last edited by CornedBee; 03-28-2009 at 11:42 AM.
The greatest common factor explanation of this is great
Last edited by CornedBee; 03-28-2009 at 11:43 AM.
>> Its faster to just check if a number, modulo 6469693230 has a prime remainder, since all prime numbers do.
Are you sure about that? Can you elaborate?
Last edited by CornedBee; 03-28-2009 at 11:43 AM.
Code:#include <cmath> #include <complex> bool euler_flip(bool value) { return std::pow ( std::complex<float>(std::exp(1.0)), std::complex<float>(0, 1) * std::complex<float>(std::atan(1.0) *(1 << (value + 2))) ).real() < 0; }
Ok, just to bring this to an end:
First, you ask a random dwarf: "Who of your brothers lies more often?"
If you happen to ask A, he will correctly point to C.
If you happen to ask B, he will incorrectly point to C.
If you happen to ask C, he will randomly point to either A or B.
In either case, the dwarf not asked and not pointed to is not C.
Ask this dwarf the following question: "Which path would the dwarf suggest who is the exact opposite of you?"
If you ask A, he will tell the truth and provide you with the path that B would've suggested, i.e. the wrong path.
If you ask B, he will lie and provide you with the path that A would'nt have suggested, i.e. the wrong path.
So you take the other path.
Greets,
Philip
Last edited by CornedBee; 03-28-2009 at 11:43 AM.
All things begin as source code.
Source code begins with an empty file.
-- Tao Te Chip
hmm... but that seems to assume that the dwarves are benevolent. If they are (or more accurately, could be) malicious, then you have to phrase that second question more explicitly to your advantage.
Last edited by CornedBee; 03-28-2009 at 11:44 AM.
Look up a C++ Reference and learn How To Ask Questions The Smart WayOriginally Posted by Bjarne Stroustrup (2000-10-14)
There are seven dwarfs, each one wearing a unique hat. A wind blows off the hats. The dwarfs start running after their hats and each dwarf puts on the first hat that he manages to catch. Eventually every dwarf has a hat again.
What is the probability that exactly six dwarfs are wearing their own hat now?
Greets,
Philip
All things begin as source code.
Source code begins with an empty file.
-- Tao Te Chip
Right. I already had several discussions about that. The problem arises due to the inexactness of most natural languages. The most obvious solution is to ask a more concise (and more awful) question. Personally, I prefer adding the proposition to the riddle that the dwarfs are benevolent. I didn't do it in the first place because it only distracts from the intended solution, but it's good that you pointed it out.
Greets,
Philip
Last edited by CornedBee; 03-28-2009 at 11:44 AM.
All things begin as source code.
Source code begins with an empty file.
-- Tao Te Chip
I don't think so. I think that it is merely an unstated assumption. I wanted to propose the solution of just capturing the dwarves and dragging them in a direction to see their response, but then I realised that I could not be sure that the dwarves were not so bored with their existence that they intended suicide, hence I would have to ask them questions anywayOriginally Posted by Snafuist
Last edited by CornedBee; 03-28-2009 at 11:44 AM.
Look up a C++ Reference and learn How To Ask Questions The Smart WayOriginally Posted by Bjarne Stroustrup (2000-10-14)
Oops, I skipped #4, so here it is.
Consider the following program:
Can you come up with an implementation that doesn't use conditionals, i.e. if, for, while, switch?Code:int cmp(int a, int b) { if(a > b) { return 1; } else if(a < b) { return -1; } else { return 0; } }
Greets,
Philip
All things begin as source code.
Source code begins with an empty file.
-- Tao Te Chip
I presume that includes ternary operator, and that this is either C or C++?
Last edited by CornedBee; 03-28-2009 at 11:45 AM.
Look up a C++ Reference and learn How To Ask Questions The Smart WayOriginally Posted by Bjarne Stroustrup (2000-10-14)
--Code:return (a >b)?1:(a<b)?-1:0;
Mats
Last edited by CornedBee; 03-28-2009 at 11:45 AM.
Compilers can produce warnings - make the compiler programmers happy: Use them!
Please don't PM me for help - and no, I don't do help over instant messengers.
I would say that equals (6!/(6*5!))-1.
Last edited by CornedBee; 03-28-2009 at 11:45 AM.