Talk:Euler problems

From HaskellWiki
Revision as of 18:27, 26 June 2014 by KamikazeJones (talk | contribs) (→‎Why publish solutions on haskellwiki?: new section)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

I agree with hk that these pages are literally KILLING Project Euler. If you want a way to publish your OWN solutions in a SAFE manner, see an example here. That blooger RESPONSIBLY uses a md5 hash of the answers as the key to encrypt his own solutions (written in mathematica). I think sites such as that one are much more enlightening than what this is now. You claim that mindful problem solvers will not upset themselves by peeking at your pages, but in all seriousness, rarely are such problem solvers immune to giving in to frustration. However capable, they are only human. Given, once I solve a problem in a particular language, I'm usually curious how other languages cope with the problem, and I usually find the Euler forums (for each problem) sufficient to this end. I plead that this site be remodeled using proper encryption (the mentioned scheme is perfect) or simply remove this site and post your methods in the forums of Project Euler.


As one of the teammembers of Project Euler I must say that you are doing Project Euler not a great favour by maintaining this site. How is it possible that you are so blinded by your enthousiasm of a particular programming environment that you lose out of sight the true nature of Project Euler: problem solving, disregarding all differences of programming languages. As all problems are there, even the most recent ones, those responsible for this must be found among our 100%-ers. Please realise how much work of us you are spoiling with this work and stop spoling our work. Better still: remove it altogether from public domain. Threatening to consider any amendment as vandalism is really a gotspe. It's you that are vandalising our work.

Hans Klein (aka hk)

quote: Additionally, for convenience in checking solutions, a list of pairs giving the exact Euler answers is available

Cale, why are you doing these things just to annoy us? Don't you have better things to do than trying to kill project euler? --

In addition I don't see the use of this checklist. Anyone that wants to check the correctness of his answer can do so at the Project Euler site. It seems more a deliberate attempt to kill Project Euler. Perhaps Gale should do some introspection about his true motives.


quote: On the other hand, this problem space is perfect for illustrating the power of Haskell, and for providing excellent examples of how to "think in Haskell".

The solutions to some of the harder problems are in C++, so that has nothing to do with the power of Haskell. Please remove the solutions from this page. If you want to show your Haskell solution please do so in the forum of a problem.

Stijn aka henk263

If you openly publish problems, people will be free to openly publish solutions to them. There's not a whole lot which can be done about it. This is the same issue as a game developer saying "please don't publish a walkthrough to our game". You can ask, but it's pretty much guaranteed that someone will inevitably do it.

Moreover, it doesn't harm anyone's enjoyment of the game. The pages are clearly marked as containing spoilers, and those who don't want to see the spoilers can avoid them quite easily.

CaleGibbard 18:58, 23 February 2008 (UTC)

The solutions in C++ would indeed be better off replaced by Haskell code. This is, after all the Haskell wiki. However, removing the solutions altogether would be silly. (Not to mention ineffective, as they would remain in the page history.)

If you want to have a contest with problems to which nobody can look up the solution, construct a list of problems which nobody has seen before and hold the contest all at once. Long term contests in which the problems have trivial (i.e. known) solutions won't hold up.

CaleGibbard 19:08, 23 February 2008 (UTC)

I think you misunderstand Project Euler. To my opninion it's not a contest. But by publishing worked out solutions you are spoiling the fun for those that love to solve problems. Of course not much can be done to such "look me being smart" people that haven't even to guts to design their own problems to write their programming tutorial. Moreover stealing other peoples solutions (problem 181) does not look very smart either.


Those who love to solve problems should have no problem with this site. They just won't read it. The only possible way one could have a complaint about published solutions to the problems is if one thought of the site as a contest by which people are being judged and compared. If the problems are meant only for personal use, there's no issue, since the only person one might cheat by looking at the solution is oneself.

If one had already given up on finding the solution, being able to look at a solution is potentially educational as well.

I should perhaps point out that I've not personally had any hand in constructing any of these solutions (though I did clean up the formatting on some of them not long ago), and haven't spent much time working on Project Euler myself either (the problems are not of a sort which I find interesting, there are not nearly enough universal quantifiers in them). I do, however, think that people who put useful things on this wiki should not have them arbitrarily damaged.

CaleGibbard 20:07, 23 February 2008 (UTC)

Quite a few of the recent C++ additions are just stolen from the problem's forum. I'm pretty sure that neither balakrishnan nor put anything here.


Cale All your arguments fail if you see that the one that put those Haskell (and C++) solutions here has even gone so far as to put the direct answers to the problems on this page This goes too far. I urgently request that that page and this one should be removed from this Haskell wiki. This has nothing to do with Haskell anymore.


I still don't see why you should care about the solutions being published. If particular solutions can be shown to violate people's copyright, then those should be removed. Everything on this wiki is meant to be published under the simple permissive license. Otherwise, I see no reason to remove anything.

CaleGibbard 21:52, 23 February 2008 (UTC)

For me, it spoils the fun of 'climbing up the ladder'. I don't get why this list of numbers belongs in an HASKELLwiki :S


If it would spoil the fun, don't look at it. What's your problem? If your value system is so messed up that you get more satisfaction out of seeing your progress bar go up faster than other people's progress bars than from actually solving the problems yourself, then I think you probably have some serious self-evaluation to do. Also, until then, I have a video game in which you might be interested

CaleGibbard 22:04, 23 February 2008 (UTC)

I guess I do see project euler partly as a contest. There's no need to get personal. I'm very sure that I'm not the only one who doesn't like the idea that all solutions are available to everyone.

Also aren't almost all online games based on seeing your own progress bar go up faster than other people's? Not that PE is a game, but still, I don't think I need to do any self-evaluation :S


You definitely have some introspection to do regarding your motives for doing things.

The pages won't be removed, and none of the solutions will be removed unless you can prove some legal reason that they must be. Obviously some people find them useful, they are largely Haskell content, or of use to people solving the problems in Haskell, and so are on topic. Leave it alone.

CaleGibbard 22:28, 23 February 2008 (UTC)

The Project Euler problems are copyrighted under the creative commons license. Legal version If you read this you will see that the simple permissive license is not identical to the creative commons licence. The share alike condition reads: "Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a licence identical to this one." So in fact the pages I referred to are both infringing in the Project Euler copyright.


None of these pages contain any of the problem statements or content published on the Project Euler site. --CaleGibbard 22:31, 23 February 2008 (UTC)
You overlook the phrase "or build upon this work," and you cannot deny that those pages build on the Project Euler work.
Moreover, some solutions are copies from the Project Euler Forum. --hk
It refers to making derivative works; these are no more derivative works than my saying 'What is 2+2?' a derivative work of the work of kindergartener teachers. These are eternal mathematical theorems and principles; they can no more be copyrighted or trademarked or patented than can a prime number, even if it takes decades to compute it.
I certainly do agree with you about the problematic copyright status of the solutions, though. --Gwern 00:15, 24 February 2008 (UTC)

These pages must be deleted.

They are not in the spirit of Project Euler.

They are ruining the fun of problems and the fun of climbing up the ladder.

I am aware that whoever posted this is probably smart and would like us all to know.


RULE #1 of Project Euler:

You do not discuss Project Euler solutions.

RULE #2 of Project Euler:

You do not discuss Project Euler solutions.

Keep it in the problem threads.

I disagree. These are clearly marked as "spoilers". Anyone who wants to participate in Project Euler and enjoy its benefits knows that they should not peek at these solutions.

On the other hand, this problem space is perfect for illustrating the power of Haskell, and for providing excellent examples of how to "think in Haskell". I would refer anyone thinking of learning Haskell to these pages - with the warning that they might first want to solve all of the problems in their current favorite programming language.

My guess is that many people would look at the first few solutions, become hooked, and then redo the rest of them on their own in Haskell without peeking!

You kill the fun!

There is only way to publish solution - just protect access to it with right solution answer, as Euler protects access to forum's threads.

But in wiki - these pages must be deleted.

Note that if you delete these pages, it will be treated as vandalism and reverted. CaleGibbard 19:56, 21 February 2008 (UTC)

Category tags are great for making the Haskell wiki easier to navigate. But having category tags on all of the detail pages of these problem sets has the opposite effect - it just clutters the category pages.

I am removing the category tags from all of the detail pages, and leaving them only on the main page.

Either restrict the access to these pages to those who have the solution or delete them, please. It's just not cricket to violate the Project Euler spirit.

Not everypone plays cricket! SamB 23:11, 23 February 2008 (UTC)

C++ copyvios

I've removed all the C/C++ code I saw on the problem pages. I have no problems with including answers (be they programmatic or constants), but the C code is very problematic. I can assume good faith and believe that all of the text and Haskell code is Freely and correctly licensed (a few answers to the contrary...), but I find it much harder to believe that a Haskeller would license his own C++ code Freely but not also provide a Haskell solution, and harder still when I see assertions that the code is stolen all from Project Euler's internal fora.

So, I've removed them. I hope I will not see the code re-added; until it's shown that they are licensed appropriately for the wiki, I intend to make sure they are kept off. Cale, as for page history - yes, deletion and partial recreation would be ideal, however I am not an administrator here and so cannot do it. If my wikideletions are ever asserted by one of the copyright holders to be insufficient, well, then we can go back and delete with fire. --Gwern 00:15, 24 February 2008 (UTC)

I identified several remaining C codes.
I checked them in the problem Euler forum to be from several different PE users.
I now put a note in place of this C code stating who published them on the PE Forum.
It seems that the statement "None of these pages contain any of the problem statements or content published on the Project Euler site. " was somewhat preposterous. --hk
I missed some, huh... OK, good. Hopefully that's the last of the copyvios. --Gwern 16:01, 24 February 2008 (UTC)


I have protected this page, and will protect other pages as necessary. There seem to be two issues here:

  • Copyright violations: anything that is not available under our simple permissive license must be removed immediately. Thank you, Gwern, for doing this.
  • Spoiling Project Euler: HaskellWiki is not part of Project Euler and is therefore not bound by its rules or guided by its values or spirit. HaskellWiki's purpose is, roughly, to promote Haskell. If publishing the Euler problems and their solutions in Haskell serves that purpose then that belongs on this wiki. Some people might be annoyed by being unexpectedly given these solutions: for that reason we should warn them with the appropriate spoiler notices.

Ashley Y 23:18, 24 February 2008 (UTC)

Unprotected now. —Ashley Y 22:27, 12 March 2008 (UTC)

Another vote for its being utterly childish to post solutions to puzzles on another site in contradiction to the wishes of its admins.


Quote: HaskellWiki is not part of Project Euler and is therefore not bound by its rules or guided by its values or spirit. HaskellWiki's purpose is, roughly, to promote Haskell. If publishing the Euler problems and their solutions in Haskell serves that purpose then that belongs on this wiki. Some people might be annoyed by being unexpectedly given these solutions: for that reason we should warn them with the appropriate spoiler notices

And does this sound like democracy to you? It sounds like nazi to me. Like "we do what we want, if that bothers you well, it's not our problem."

Actually, it sounds like Libertarianism to me. But if you want to draw specious comparisons and Godwin yourself, go ahead.

There are billions of problems in internet, which are already published with a solution. Many puzzle sites publish a problem and after one week they provide the solution too. Why can't you just pick one of them? There are plenty of problems that could be useful to learn haskell.

If those billions of problems are so useful and suitable, then why aren't Haskellers doing them instead? --Gwern 20:55, 29 April 2008 (UTC)

Also, once I have learned how to use (eg.) an array, why should I learn it again? I don't see new haskell concept published in every solution you provide, so, if this was just to improve haskell skills, why you spoil problems that touch things already covered?

When you play at project euler, you begin a journey. Some people don't care about the ranking, some others do. For those, knowing that solutions are available for everybody, its not pleasant, because then the ranking is not the same any more. You are always left with the doubt that who's ranked higher than you might have cheated. Personally, every time a new problem comes out, my only preoccupation is to solve it and post my solution on p.e. forum BEFORE some of you post the solution here, so if someone goes and check me I don't mind because I'm clean.

Concluding, you certainly do have the rights to do what the law lets you do, but you should understand that your rights fall down when you do something that bothers other people (a lot, believe me). Even more when you could easily choose another site of the kind I said before, one of those which provide solutions to their problems.

Haskell learners would still learn, and p.e. users would be able to play in peace. If you don't understand this then you should try.


Actually, it sounds like Libertarianism to me. But if you want to draw specious comparisons and Godwin yourself, go ahead.

Actually I didn't know about this Godwin's law so thank you, I learned something new. Anyway, leaving every nazi stuff apart, the question is really why to spoil p.e. problems. If you look at words like "math puzzle, problems, programming challenges, etc." on google, you can find plenty of really cool websites that provide similar content than what you find on p.e.: math stuff, programming stuff, geometry stuff, and so on.
So, since some of them don't keep score like it's done on p.e., why not to choose one of them? I mean, if you want to show say a Fibonacci generator, isn't it good to apply your code to a Fibonacci related problem? At that point, isn't any Fibonacci related problem good? So I guess it would be possible to choose a Fibonacci related problem from some site that also gives the solution. In this way you would have achieved what you claim (promote haskell) and nobody would be hurt, therefore everybody wins.
Wouldn't it be good for everybody?

If those billions of problems are so useful and suitable, then why aren't Haskellers doing them instead?

Let me get this right. Do you really think p.e. is the only source for interesting maths problems? With all respect, but I don't think so. Ever heard of uva ( And this is just an example. You just have to open google and search.


The reasoning on the front of this page is preposterous:

Note that these solutions are indeed entirely within the spirit of Project Euler. For those who feel otherwise, note that the FAQ on the front page of the Project Euler site says the following:

I solved it by using a search engine, does that matter?

That depends on your motivation for solving the problems. It probably means that you've missed out on some beautiful and hidden mathematics.

So, because the PE site advises people to not cheat, therefore it's "entirely within the spirit" to post solutions? Clearly, that FAQ answer was put there in response to pages such as this. I'm changing this wording (so by the time you read this it may be different). Galen 06:38, 10 September 2008 (UTC)

Dear HaskellWiki,

The wiki pages you have on PE problems in Haskell seems interesting and something one could learn from. If I had the time to learn Haskell (and not just stick with Python, which I personally use for solving the PE problems), it would be interesting to have a look at the solutions after having solved problems myself.

However, the problem is that many users get tempted to climb the PE ladder the easy way by cheating. Of course they are really cheating themselves, but it is still a great nuisance for those of us who try to climb the ladder "the hard way", to see users climb by on the high score lists in a pattern which is clearly indicative of cheating.

The negative effects on the PE community by having solutions here by far outways, I think, the benefits of having them here.

From the responses above I get the impression that the opinion of the HaskellWiki on this dilemma is: Why should we care about another community, we do what is best for us irrespective of other communities. That is a viewpoint, which I respect, albeit I do not agree wth it. Currently PE gives something to this community, which is a set of problems, which are interesting from a Haskell point of view. It takes a substantial time and effort to develop those problems. It is done volunteerly, because it is fun. It is not fun though, when the payback is published solutions. That is poisonous to the PE community.

There is a perfect place to discuss Haskell solutions to PE problems and that is on the PE fourm threads, which unlock when a correct solution is given. That is where they belong.

It has been argued that it is just like walk-thoughs of computer games. I do not agree with that viewpoint. PE is not a childs game, the harder problems requires lots of brains to solve, much more than completing a computer game.

The HaskellWiki is not the only one, which publishes PE solutions, but it is near the top on search engines besides the main site. I am writing to other main sites as well (as many as my time allows).

I kindly urge this community to consider if there are not other problem solving sites, which are more adequate for displaying the power of Haskell without spoiling the fun of the problem solving community?

Kind regards, --Slaunger 21:25, 21 July 2010 (UTC) aka user slaunger on PE

  • Just one problem with using PE forums to post your solutions: they are locked (the lower numbered ones). :-L That still doesn't make it OK to post them here, IMO. PE clearly asks of its users not to post solutions anywhere except on its forums. (I'd say fora, but I don't speak Latin). We're given these problems on condition we not publish them, it's kind of breaking a promise to do so. It's not nice. So I wouldn't go as far as to say I respect this choice/"viewpoint". It's clear to me these forums here should be protected by right solutions as passwords, just like on PE site. OTOH having a place to discuss a solution you've just come up with is thoroughly needed, and the urge to show it off can get the better of anyone. WillNess 07:16, 2 July 2011 (UTC)


Let me just throw in $.02 in this as someone who used to teach at the university level. What is being discussed here is a common problem in education. On the one hand solution keys can create temptations for people who then "cheat" either out of momentary weakness or a more profound desire. On the other hand good quality worked problems, like the REA books or the solutions in Schaums are good for education.

It is understandable that some people doing the Euler problems don't think these answers should be redistributed. However, if project Euler (Colin Hughes) genuinely wanted to be able to enforce the kinds of restrictions that many posting here are asserted he should have fully maintained copyright. Then this page would be a obvious derived work, and thus without permission a violation and a failure to obey the takedown notice would be enforceable. But he didn't do that instead according to the Project Euler copyright Euler is licensed under an open license which encourages and allows for derived works to be redistributed providing that credit is given to Project Euler for the original work.

I think there are people speaking for Project Euler who are one class of users, not creators the work asserting an ownership that does not exist. The Euler problems are useful for teaching people how to reason on algorithms. They are also a good collection of examples of well worked problems, that various languages can compare on. Haskell is particularly good at the types of problems in Project Euler so it makes sense this page would be heavily linked to. What we see in these solutions seems to be exactly the kinds of derived works that Colin Hughes was encouraging when he choose to license Project Euler the way he did. Jbolden1517 02:24, 23 October 2011 (UTC)

You know it's not a big deal what 's your purpose when you trying to solve all the problems from Project Euler ,you just want to do something you like and you do it ,and that's it gus ,wish you lucky .

Why publish solutions on haskellwiki?

Publishing the solutions to the Project Euler Problems is not wanted by Project Euler, that's for sure.

Some say that there can nothing be done against it, because somebody else can publish it elsewhere.

I disagree. haskellwiki is responsible for publishing it. it should'nt do. why? It shows haskellwiki in a poor light, and that is something we should avoid. If an idiot would publish it, it wouldn't annoy me that much.