Digital FXtbook
Easy Contacts
  • Home
    • Free Software
    • The Author
    • Former Students Hall of Fame
    • A tribute....
  • 3d Training
    • Fundamentals of 3d >
      • AutoDesk
      • Introduction: The Temple
      • Creating a Film >
        • Scriptwriting and Planning
        • StoryBoarding
        • Story Reels
      • Modeling >
        • The Nail
        • First Freestyle Lesson >
          • Cup and Straw
          • Garbage Can
        • Fence
        • Hammer
        • House
        • Environment Bubble
      • Animation >
        • Beginning Animation
        • Animation - Walk Cycle
        • Facial Animation
      • Rendering >
        • Arnold Rendering
      • Editing film >
        • Credits
        • Video Editing
      • Characters
    • Modeling and Rigging >
      • Linda Training >
        • Advanced Modeling >
          • Modeling Basics
          • Modeling Room Objects
        • Rigging >
          • Rigging Basics
          • Rigging Creating Skeletons
          • Rigging: Body Controls
          • Rigging: Hands
          • Rigging: Skinning
      • Modeling >
        • Image Planes
        • Polygon Modeling >
          • Coke Can
          • Low Polygon Character
          • Character Modeling Legion the Geth
          • Character Modeling Geth Armor
          • Face Modeling
        • NURBS Modeling >
          • Intro to NURBS
          • Lofting
          • CV Curves
          • Organic Modeling
          • Autombile
      • Rigging >
        • Rigging with HumanIK
        • Smooth Skinning
      • Motion Capture
    • 3d Animation >
      • Linda Training >
        • Animation - Fundamentals
        • Animation - Next Steps
        • Animation - Pose to Pose
        • Animation - Facial Animation
        • Animation - Lip and Body Animation
      • Arnold Rendering
      • Reference Videos
      • Beginning Animation
      • Characters
    • Gaming >
      • Board Game Game Design Document
      • Modeling >
        • Introduction: The Temple
        • Name Text Curve
        • Minecraft Steve
        • Minecraft Tools and Weapons
        • Roblox Character modeling
        • Garbage Can
        • Hammer
        • Sword of Light
        • Buzz Axe
        • Halo 1 Blood Gulch Base
        • Hammer
        • Sword
        • Character Modeling Big Daddy
        • Shield
        • The OM6G
        • Weapon
        • Character Modeling Legion the Geth
        • Character Modeling Geth Armor
      • Animation >
        • Character Animation
      • Rigging >
        • Rigging with HumanIK
        • Characterizing and MoCap
        • Integration with Unity
      • Unity >
        • Terrain
        • Importing Models
  • Coding
    • Beginning C# >
      • First Unit >
        • First Program
        • Comments >
          • PsuedoCode
        • Variable Types >
          • AlphaNumeric Variables
          • Numeric Variables
          • Putting it all together
        • Getting input from the user
        • Operators >
          • Arithmetic Operators >
            • Use of Parenthesis
            • Algebra in code and assundry CHAOS
            • Pre and Post Operators
            • Shortcut Operators
            • Floats Conversion from Metric to English
            • When is Easter??
          • Comparison Operators >
            • Logical Data, Illogical Assignment
          • Assignment Operators >
            • Zeller's Congruence
            • Leap Year
          • Logical Operators
        • Try and Catch
        • Casting
      • Second Unit >
        • Conditional Statements >
          • Number validator
          • Number tester
          • Speed Camera
        • Random Class
        • Arrays >
          • Simple Arrays
          • Complex Arrays
        • Loops >
          • For Loops >
            • Adding Numbers
          • For Each Loops
          • While Loops
          • Do While Loops
      • Third Unit
    • Intermediate C# >
      • Object Oriented Programming
    • Unity Coding >
      • Introduction Unity Lesson
      • Number Wizard Game #1
      • Second Unity Game: Text Adventure
      • Number Wizard Game GUI
      • Block Breaker >
        • Block Breaker Game #1
        • Block Breaker Game #2
        • Block Breaker Game #3
        • Block Breaker Game #4
    • Linda Training >
      • What is C#?
      • Working with Classes
  • Student Films
    • Advanced Student's movies
    • Beginning Student's movies
  • Adobe
    • Premier >
      • Chapter 1
      • Chapter 2
      • Chapter 3
      • Editing A-Roll
      • Chapter 4
      • Editing B-Roll
      • Chapter 5
      • Chapter 6
      • Chapter 7
      • Chapter 8
      • Chapter 9
      • Chapter 10
      • Chapter 11
      • Chapter 12
    • Photoshop >
      • Introduction
      • Selection Tools >
        • Melonhead >
          • Melonhead Creative
        • Breakfast Lunch or Dinner
        • Blu 42
      • Painting Tools >
        • Invisi-World
        • Image Adjustment
        • FreeStyle project
      • Drawing Tools >
        • Abstract Expressionism
    • Illustrator >
      • Vector Ninjas
      • Live Art Painting
      • Starting the Pen Tool
      • Apple and Pear
      • Creating Your LOGO
      • Self Portrait
  • Com Apps
    • Com Apps page 1
    • Com Apps page 2
    • Com Apps page 3
    • Com Apps page 4
  • Links
    • Distance Reconnecting
    • Key Board Fix/Hack
    • BPA >
      • Buiding Piers >
        • Buiding Piers
        • Buiding Piers
      • Futuristic Character >
        • Design and Concept
    • The Top Six Animation Schools
    • The Top Video Game Design Schools
    • Contests >
      • International Team

Zeller's Congruence

In this lesson we are going to figure out what day of the week it is after being given any given set of dates. 

Have you ever wondered how to find a weekday for any (past or future) date?

Okay, you can check it in a calendar (you probably have one on your smartphone), but this is no solution for a coder.

One of the most popular algorithms for this task is the so-called "Zeller's congruence".

Sounds complicated?

Nothing could be further from the truth, and we're going to show you exactly that.

You'll need three values:

year number (int – let's assume that we're interested only in dates from the 20th and 21st centuries);
month number (int – 1 to 12);
day number (int – 1 to it depends)

Be patient – this will take a while:

1. Decrease month number by 2;
2. if month number becomes less than 0, increment it by 12 and decrement year by 1;
3. take month number and multiply it by 83 and divide it by 32;
4. add day number to month;
5. add year number to month;
6. add year/4 to month;
7. subtract year/100 from month;
8. add year/400 to month;
9. find the remainder of dividing month by 7;
10. Congrats! A weekday number is ready for you! 0 – Sunday, 1 – Monday, ... and so on.


We want you to write a code which finds a weekday number for a date entered by a user.

The program should ask the user for the year, month and day (in this order) and output a value indicating a weekday. Make your code as smart as possible. Test your code using the data we've provided. 



​Sample code

None for this lesson.....



​Assignment

Build the program described above and get it to work correctly. To make sure that it is working correctly here are some dates that you can use to test it against.

Example input
2016
2
10

Example output
3

Example input
2000
1
1

Example output
6 

Example input
1999
12
31

Example output
5

Example input
1964
12
21

Example output
​1 

EXTRA CREDIT!!!

Instead of outputting some stupid number, like 0-6, write an extra line or two of code to have it print out the actual day of the week.
So.... understanding that;

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

​Have the code print out Monday instead of 0 and so on.
Proudly powered by Weebly