Silicon Zeroes

Silicon Zeroes

View Stats:
martin369 Oct 15, 2017 @ 12:20pm
cows
Hi, can someone give me a hint how to pass this level.
< >
Showing 1-14 of 14 comments
Kimossab Oct 15, 2017 @ 5:21pm 
Cows is surprisingly confusing, but tha'ts because it's so different from other problems. IDK how much of a hint you want, so I'll leave this for now: it's a mathematical problem, try to figure out an equation to solve it and then implement that equation with modules. If that's not enough just say
misterwishart Oct 16, 2017 @ 5:59am 
Along with what Kimossab said; have a look at the required outputs. Does the sequence of increasing numbers remind you of anything?
martin369 Oct 16, 2017 @ 7:29am 
I already know how to do it, but thanks for help.
Zane49er Oct 16, 2017 @ 4:48pm 
A slightly more revealing hint:
The current year, current cows, and current fertile cows should be the three latches
jeff Oct 24, 2017 @ 11:42pm 
very nice
nitta Oct 31, 2017 @ 6:01pm 
Hello,

Looking for a hint here.

I think I have figured out a way to get the right values to add to the right values (won't say more for fear of spoiling for others).

What has me stumped is how to set the initial value in slot 0.

Any hints (no spoilers, I'm not that desperate!) on how to do that?

Thanks!
Last edited by nitta; Oct 31, 2017 @ 6:01pm
Pronoun Noun Nov 25, 2017 @ 9:27am 
Yeah I can't figure it out either. The maths solution is easy enough and I can easily implement that (f(x-1) + f(x-3)) but how do I get it so if neither index exists (for the first 3 indexs) it outputs 1? It must have something to do with the equals block (and in fact I can even get it to do just that) but then you can't add those two values together as undefined + 1 = undefined. I can't see any other way to mix those outputs together.

EDIT: Solved the puzzle. Hint: At no point do you need to use the read module. You don't even need to use the subtract module. I used a total of 4 latches to solve the problem (within the goal).
Last edited by Pronoun Noun; Nov 30, 2017 @ 10:43am
Zane49er Jan 4, 2018 @ 9:00am 
Remember that you have an equals module available in this stage.
Zedman Moaz Oct 15, 2018 @ 7:28pm 
In case you skipped over the solution above and looking for a hint as to how to get the number of parts down to 10: don't try to trick the latch into starting from 1. Just go ahead and always be one less. E.g. f(x) = f(x-1)-1 + f(x-3) +1. Let one latch hold f(x-1)-1 and three other latches to get to f(x-1). A fourth latch is used in the address counter.
b1tbull Dec 6, 2019 @ 3:25am 
It took me a while to figure this one out.
Coding this in Python and looking at the output confirmed the importance
of keeping track of cows in previous years. The starting point of year 0 was elegantly solved in one of the solutions provided here.
Python Code :

fcows = 0
tcows_year = []
tcows = 1

for year in range(14):
tcows_year.append(0)
if year > 2:
fcows = tcows_year[year-3]
tcows = tcows + fcows
tcows_year[year] = tcows
print('Year = {:2d}, Tcows = {:2d}, Fcows = {:2d}'.format(year,tcows,fcows))
bwc_semaj Aug 5, 2023 @ 4:57am 
I had a hell of a time with this problem. Even with people screenshotting their screens of the solution; those don't help a bit because you can't tell where the wires are going.

First off in the problem description they give you the formula to the solution. f(x) = f(x-1) + f(x-3)

Simple right but due to how the game works it isn't as simple as reading values from memory and adding them together. Instead this game works off this idea of cycles.

Levels before it wasn't so bad but for this problem it was extremely annoying to try solve by reading from memory because of this cycling and the limitations to your modules you have a very limited scope to solve.

The latch implementation imo should had another option depending if a 0 or 1 is passed in to store the value. But I digress.

Here's how I went about it.



First I gave up with reading values in memory.

Second I realized latches could work as a buffer to store the values in an array. You only need to keep track of 3 previous values to calculate the latest value. Place 3 latches in a row. Create an addition to add zeroth latch and 2nd latch.

So first problem is how do kick start it? Well compare the 0th latch value with 0. Add this value to the addition that adds zeroth latch and 2nd latch and store back into the 0th latch.

Now you got values being calculated.

So now you need to make an iterator that increments when you got the first 3 values calculated. Well to do that again we can look at the last latch and if there is a 0 it hasn't finished initializing. So do to how the game works there is no other operators we can work with so it is easier to know when to tell if it is uninitialized rather than initialized by checking if there is a 0 if there is it will spit a 1, which tells us it hasn't been initialized. We want initialized so we flip 0 into a 1 by comparing output to 0. We then use an addition and a latch to create the iterator and feed that into the mem slot of write.

We feed the "To Write" the value at the end of the 2nd latch.

https://imgur.com/a/FIY2tIF
Last edited by bwc_semaj; Aug 5, 2023 @ 5:00am
akfourty7 Nov 30, 2023 @ 3:49am 
I've got a solution that involves fewer than the required modules
https://steamcommunity.com/sharedfiles/filedetails/?id=3100617469
< >
Showing 1-14 of 14 comments
Per page: 1530 50