This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
haas:spring2021:common:projects:pctx [2021/01/14 17:17] – external edit 127.0.0.1 | haas:spring2021:common:projects:pctx [2021/08/01 21:47] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 7: | Line 7: | ||
For example, if you are working on pct1, when you see an a project reference of " | For example, if you are working on pct1, when you see an a project reference of " | ||
- | New in spring2021: I've made some alterations to administration/ | + | New in spring2021: I've made some alterations to administration/ |
- | * your solution must be NOW fewer than puzzle base number of lines (ie if the puzzle base is 10, your solution can NOT be shorter than 10 lines) | + | * your solution must be NO fewer than puzzle base number of lines (ie if the puzzle base is 10, your solution can NOT be shorter than 10 lines) |
* your solution must routinely show your progress, the WHY and HOW of your process, that leads you from start to completion | * your solution must routinely show your progress, the WHY and HOW of your process, that leads you from start to completion | ||
* I will no longer confirm puzzle keys: giving them out deprives you of cultivating necessary debugging skills to ascertain that on your own | * I will no longer confirm puzzle keys: giving them out deprives you of cultivating necessary debugging skills to ascertain that on your own | ||
Line 265: | Line 265: | ||
Why 9? Because of a borrow! | Why 9? Because of a borrow! | ||
+ | < | ||
((5-1)+10)-5 = (4+10)-5 = 14 - 5 = 9 | ((5-1)+10)-5 = (4+10)-5 = 14 - 5 = 9 | ||
+ | </ | ||
... that can be quite revealing too! | ... that can be quite revealing too! | ||
Line 282: | Line 284: | ||
Usually, that would result in a 0. BUT, we also know that K can NOT be 0 (looking at our range table above). | Usually, that would result in a 0. BUT, we also know that K can NOT be 0 (looking at our range table above). | ||
- | So, that means it is being borrowed from, and it itself has to borrow, so we now also know that M is less than K (M << K). | + | So, that means it is being borrowed from, and it itself has to borrow, so we now also know that M is less than K < |
And, as indicated above: | And, as indicated above: | ||
- | ((R-1)+10)-R = 9! | + | < |
We now know that K = 9! | We now know that K = 9! | ||
Line 543: | Line 545: | ||
=====Getting started===== | =====Getting started===== | ||
- | In the **pctX/** sub-directory of your class Public Directory, under a directory by the name of your username, you will find the following file: | + | In the **pctX/** sub-directory of your class Public Directory, under a directory by the name of your username, you will find the following file(s): |
* **puzzle** | * **puzzle** | ||
+ | * possibly also a file called **table** | ||
- | Copy this file into your local project directory. | + | Copy this file into your local project directory. For some classes, a **grabit** is available. For others, you'll have to manually copy the file on your own. |
There is also a **MANIFEST** file in the parent directory (the **pctX/** sub-directory), | There is also a **MANIFEST** file in the parent directory (the **pctX/** sub-directory), | ||
Line 555: | Line 558: | ||
Here's another take on how to get started: | Here's another take on how to get started: | ||
- | * [[/haas/fall2020/ | + | * [[/haas/spring2021/ |
=====Process===== | =====Process===== | ||
Solve, document, and verify the puzzle. | Solve, document, and verify the puzzle. | ||
Line 751: | Line 754: | ||
This can also help establish the state of takes elsewhere in the puzzle, should an identical subtraction be present in more than one place. | This can also help establish the state of takes elsewhere in the puzzle, should an identical subtraction be present in more than one place. | ||
- | ====Look for Zero/Nine Candidates==== | + | ====Look for Zero/Greatest digit Candidates==== |
- | There are two common give-away cases for finding the 0 or 9 (aka "highest | + | There are two common give-away cases for finding the two extreme digits |
< | < | ||
Line 770: | Line 773: | ||
</ | </ | ||
- | We don't, simply from this display, know if it is 0 or if it is 9. Merely that it can only be 0 or 9. | + | We don't, simply from this display, know if it is 0 or if it is the greatest digit. Merely that it can only be 0 or the greatest digit. |
Determining the identity of the letter (Y in these examples) depends on the state of borrow/ | Determining the identity of the letter (Y in these examples) depends on the state of borrow/ | ||
Line 777: | Line 780: | ||
* no borrow AND no take (Y would be 0) | * no borrow AND no take (Y would be 0) | ||
- | * borrow AND take (Y would be 9) | + | * borrow AND take (Y would be the greatest digit) |
- | The other two scenarios are mathematically impossible given this particular pattern (again, ONLY for 0, 9 scenario). | + | The other two scenarios are mathematically impossible given this particular pattern (again, ONLY for 0, greatest digit scenario). |
====Process of elimination==== | ====Process of elimination==== | ||
Line 857: | Line 860: | ||
* U is EITHER 0 or 1, to be immediately determined once we know the state of M against H or X (the subtraction immediately to the right). | * U is EITHER 0 or 1, to be immediately determined once we know the state of M against H or X (the subtraction immediately to the right). | ||
- | ====Subtract by nine, get increment==== | + | ====Subtract by greatest digit, get increment==== |
- | If we have identified the 9 value, and we see it elsewhere in the puzzle, NOT as the top value, but as the value being subtracted, or the result, and we are not being taken from, we know some things. | + | If we have identified the greatest |
- | For example, let's say C is 9 (and E << T): | + | For example, let's say C is the greatest digit (9 in base 10), and E << T: |
< | < | ||
Line 873: | Line 876: | ||
Because we know C is 9: | Because we know C is 9: | ||
- | * N << C (everything is less than 9) | + | * N << C (everything |
* therefore also: N << M | * therefore also: N << M | ||
Line 888: | Line 891: | ||
In this scenario: N is EXACTLY ONE LESS than M: N < M. | In this scenario: N is EXACTLY ONE LESS than M: N < M. | ||
- | But only when we KNOW what 9 is and know the state of whether or not we are being taken from. | + | But only when we KNOW what the greatest digit in a base is and know the state of whether or not we are being taken from. |
=====Sample: | =====Sample: | ||
The best way to verify the puzzle with our key is to convert the dividend and divisor | The best way to verify the puzzle with our key is to convert the dividend and divisor | ||
Line 1006: | Line 1009: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
</ | </ | ||
Line 1012: | Line 1015: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
- | Checking | + | Checking |
> checking key file ... | > checking key file ... | ||
> key file exists: pctX.puzzle.key | > key file exists: pctX.puzzle.key | ||
Line 1026: | Line 1029: | ||
> verify is NOT of incorrect format | > verify is NOT of incorrect format | ||
- | Checking | + | Checking |
</ | </ | ||
=====Submission===== | =====Submission===== | ||
Line 1040: | Line 1043: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
- | Submitting | + | Submitting |
-> pctX.puzzle.key(OK) | -> pctX.puzzle.key(OK) | ||
-> pctX.puzzle.solution(OK) | -> pctX.puzzle.solution(OK) | ||
Line 1049: | Line 1052: | ||
</ | </ | ||
- | NOTE: "desig" here is your class designation. It can be something like " | + | NOTE: "DESIG" here is your class designation. It can be something like " |
You should get some sort of confirmation indicating successful submission if all went according to plan. If not, check for typos and or locational mismatches. | You should get some sort of confirmation indicating successful submission if all went according to plan. If not, check for typos and or locational mismatches. |