This is what my teacher posted.. .and I HAVE NO CLUE on how to even start it!
1 Kin is 1 Day
1 Uinal is 20 Kin
1 Tun is 18 Uinal
1 Katun is 20 Tun
1 Baktun is 20 Katun
All numbers start at 0 and increment to their cycle end and then repeat. Backtuns turn over after 19.
The Long Count is written as Baktun.Katun.Tun.Uinal.Kin
The first phase of the assignment, your code should display the following [as typed below]
[1] Days To Mayan Long Count [2] Mayan Long Count To Days [3] Mayan Calendar Restructured
For input 1 - If I give you some integer number of days, I want to see the Mayan Long Count. For 2, if I give you a Mayan Long Count I want to know how many days have passed, and for 3, I want to put in any Long Count and you should format it as a valid Long Count [ie - if I put in 0.0.0.0.100 then you should give me 0.0.0.5.0 First, I want the complete solution in pseudo code then make a working program using Visual basic studio 2010.
Best way to handle this is with a series of ints and when you output, you are going to want to output each value, followed by a "." until you get to the Kin stage. Here's a list of the different values set as constant ints represented in days:
1 2 3 4 5
constint kin = 1; //1 kin = 1 day
constint uinal = 20; //1 uinal = 20 days
constint tun = 360; //1 tun = 360 days
constint katun = 7200; //1 katun = 7,200 days
constint baktun = 144000; //1 baktun = 144,000 days
Let's say that you have 500,000 days. You need to start doing modulus math (starting with the largest unit, baktun, and working your way down to kin) and figure out how many units of each you have.
500000 / 144000 = 3
500000 % 144000 = 68000
So now you know you have 3 Baktun with a remainder of 68000 days. Keep working it down until you have each value, then you can print it out like this:
you know that 1 kin is a day, so 20 kin is 20 days which is 1 Uinal. and 18 Uinal is really 18 x 20 days. So continue with that conversion until you have everything in regular years, months and dates.