Difficulty

A place to air possible concerns or difficulties in understanding ProjectEuler problems. This forum is not meant to publish solutions. This forum is NOT meant to discuss solution methods or giving hints how a problem can be solved.
Forum rules
As your posts will be visible to the general public you are requested to be thoughtful in not posting anything that might explicitly give away how to solve a particular problem.

This forum is NOT meant to discuss solution methods for a problem.

In particular don't post any code fragments or results.

Don't start begging others to give partial answers to problems

Don't ask for hints how to solve a problem

Don't start a new topic for a problem if there already exists one


See also the topics:
Don't post any spoilers
Comments, questions and clarifications about PE problems.
Post Reply
saxobob
Posts: 1
Joined: Fri Mar 07, 2025 4:08 pm

Difficulty

Post by saxobob »

Hi,

I looked for a FAQ about difficulty but didn't find one. I found threads that said the difficulty score is computed based on how fast the number of solvers accrues.

I've solved about 100 problems and want to know, should I *only* be looking in the 100-200 range. Is it accepted that the problems just get harder and harder (in terms of maths concepts and solution approach)? In solving my 100 I was able to skip forward sometimes and solve a problem with an ID 20 or 30 past where I'd got up to.

Is it even worth reading problems in the 400s or 800s - I chose a couple and they were re Jacobians and Lie Algebra I think, which I never studied, and frankly mean nothing to me. My undergrad was Group Theory, Chaotic Systems and Topology - I'm not looking for those topics per se, since I probably forgot most of it from 20 years ago. But really once it gets to 200, or 300 or somewhere, are the problems aimed at Grad Students, then PhD then Professors?

Thanks
User avatar
SAG145
Posts: 41
Joined: Thu Apr 11, 2024 10:25 pm

Re: Difficulty

Post by SAG145 »

It is agreed that the problems in the first 200 or even 300 are on average easier than other problems. And usually also easier than problems with the same difficulty rating but with a relatively high number.
However, there are many equally easy problems that do not require advanced knowledge even with high numbers, although they are less common.

You can find such problems by sorting all the problems from easiest to hardest in the archives.

Also, I think I know what problem you mean with the Jacobian and I would recommend that you read it again carefully...
Image
User avatar
yourmaths
Posts: 47
Joined: Mon Aug 25, 2014 11:00 am

Re: Difficulty

Post by yourmaths »

Yes and no.

There are a couple of recent-ish problems that have been quite easy, I'd estimate in the 50-150 range, and you can get an idea of these from the difficulties and also the number of people who've already solved them.

My view on the difficulty level rating is that it approximates how many concepts need to be known to solve the problem. For example, easier (5-10%) problems might need concept A or concept B, but when you need to know both (and how to combine them), the difficulty could become 20-25%. Harder problems don't necessarily require more advanced mathematical concepts, but they generally need you to work out what NOT to calculate and are less forgiving of naive and intuitive approaches.

The difficulties are pretty accurate overall. My solve percentage (Progress > Problems) definitely increases as the difficulty gets lower, but as a guide to individual problems it is maybe less accurate. I've solved 70-75% problems relatively easily, but struggled for weeks on 10% problems. Once again, it depends on whether I'm familiar with the concepts or not.

The main reason for working through the problems in roughly numerical order is stated on the main page: "The problems range in difficulty and for many the experience is inductive chain learning. That is, by solving one problem it will expose you to a new concept that allows you to undertake a previously inaccessible problem." Apart from knowing the concepts it's also important to have practice implementing them and knowing when to use different approaches.
level = lambda number_solved: number_solved // 25
Image
Post Reply