Here's another freebie!! I signed up for a programming problem of the day. I got my first one today, rated "easy".

Here's the description of the problem.

git.qoto.org/Absinthe/sum-of-n

My code to solve it, though not clean and delicious, is in that same repo, but certainly give it a crack before peeking. :)

@Absinthe this one was actually "easy", just translated the description and mercury solved it for me (no squinting required), so I decided to throw in some input handling and that was the painful part as usual.
git.sr.ht/~namark/mercury_stuf

But of course the real challenge is doing it in one pass... in a language that might not have a concept of a pass...

#toyprogrammingchallenge #mercurylang

@namark I really do wish I could run the code :(

I usually try not to involve I/O in the problems as that can just add an unnecessary layer of complexity to most things.

So, let me ask, the line that says
A + B = K ... does that generate a whole bunch of things like (1 + K-1) (2 + K-2) (3 + K-3) and so on?

If that is the case, what does it feel like if your list of numbers are large? Like 1,234,567,890?

@Absinthe How it works? I'm not sure myself.
The idea is that you just write rules/goals, and then the program(I guess) comes along and tries to satisfy those goals. If it manages to do so the predicate as a whole succeeds(becomes true), otherwise it fails(becomes false).
Tat specific predicate is something like:
The sum of A and B must be equal to K and
A must be in the List and
B must be in the List.

Follow

@namark that's pretty cool. But without understanding all the predicates and such it was hard to follow what the code was doing. But it seemed that when you did A + B = K that it didn't know anything about the list, so when it went through the member call, I was wondering what it might be trying to test

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.