Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

PYTHON ONLY (Science: day of the week) Zeller’s congruence is an algorithm devel

ID: 3794577 • Letter: P

Question

PYTHON ONLY

(Science: day of the week) Zeller’s congruence is an algorithm developed by Christian Zeller to calculate the day of the week. The formula is h = ¢q + j26(m + 1)k + k + jkk + jjk + 5j%7 10 44 where h is the day of the week (0: Saturday, 1: Sunday, 2: Monday, 3: Tuesday, 4: Wednesday, 5: Thursday, 6: Friday). qisthedayofthemonth. misthemonth(3:March,4:April,...,12:December).JanuaryandFebruaryare counted as months 13 and 14 of the previous year. year j is the century (i.e.,j 100 k). kistheyearofthecentury(i.e.,year%100). Write a program that prompts the user to enter a year, month, and day of the month, and then it displays the name of the day of the week. Here are some sam- ple runs:

Explanation / Answer

import java.util.Scanner; public class DayOfTheWeek { public static void main(String[] args) { // Create a Scanner Scanner input = new Scanner(System.in); // Prompt the user to enter a year, month and a day System.out.print("Enter year (e.g., 2008): "); int year = input.nextInt(); System.out.print("Enter month: 1-12: "); int month = input.nextInt(); System.out.print("Enter the day of the month: 1-31: "); int day = input.nextInt(); // Check if the month is January or February // If the month is January and February, convert to 13, and 14, // and year has to -1. (Go to previous year). if (month == 1 || month == 2) { month += 12; year--; } // Compute the answer int k = year % 7; // The year of the century int j = (int)(year / 100.0); // the century int q = day; int m = month; int h = (q + (int)((26 * (m + 1)) / 10.0) + k + (int)(k / 4.0) + (int)(j / 4.0) + (5 * j)) % 7; String result = "Day of the week is "; //Display the name of the day of the week if (h == 0) System.out.print(result + "Saturday"); else if (h == 1) System.out.print(result + "Sunday"); else if (h == 2) System.out.print(result + "Monday"); else if (h == 3) System.out.print(result + "Tuesday"); else if (h == 4) System.out.print(result + "Wednesday"); else if (h == 5) System.out.print(result + "Thursday"); else System.out.print(result + "Friday"); } } import java.util.Scanner; public class DayOfTheWeek { public static void main(String[] args) { // Create a Scanner Scanner input = new Scanner(System.in); // Prompt the user to enter a year, month and a day System.out.print("Enter year (e.g., 2008): "); int year = input.nextInt(); System.out.print("Enter month: 1-12: "); int month = input.nextInt(); System.out.print("Enter the day of the month: 1-31: "); int day = input.nextInt(); // Check if the month is January or February // If the month is January and February, convert to 13, and 14, // and year has to -1. (Go to previous year). if (month == 1 || month == 2) { month += 12; year--; } // Compute the answer int k = year % 7; // The year of the century int j = (int)(year / 100.0); // the century int q = day; int m = month; int h = (q + (int)((26 * (m + 1)) / 10.0) + k + (int)(k / 4.0) + (int)(j / 4.0) + (5 * j)) % 7; String result = "Day of the week is "; //Display the name of the day of the week if (h == 0) System.out.print(result + "Saturday"); else if (h == 1) System.out.print(result + "Sunday"); else if (h == 2) System.out.print(result + "Monday"); else if (h == 3) System.out.print(result + "Tuesday"); else if (h == 4) System.out.print(result + "Wednesday"); else if (h == 5) System.out.print(result + "Thursday"); else System.out.print(result + "Friday"); } }