Programma per calcolare il giorno del giudizio universale per un anno
Il giorno del giudizio è noto anche come il giorno del giudizio della settimana, ovvero un giorno specifico della settimana che cade ogni anno nella stessa data. Il concetto di giorno del giudizio si basa sull'algoritmo del giorno del giudizio, che ci consente di determinare il giorno della settimana per una determinata data.
L'algoritmo del giorno del giudizio è stato sviluppato dal matematico John Horton Conway e si basa sull'idea che alcune date di ogni anno cadono nello stesso giorno della settimana chiamato giorno del giudizio. Il giorno del giudizio si verifica nelle seguenti date −
3 gennaio
7 o 14 febbraio negli anni bisestili
7 marzo
-
4 aprile
9 maggio
6 giugno
11 luglio
8 agosto
5 settembre
10 ottobre
7 novembre
12 dicembre
Di seguito sono riportati i passaggi da seguire per calcolare il giorno del giudizio.
Determinazione del giorno dell'ancora del secolo
Il giorno di ancoraggio si riferisce a un giorno specifico della settimana che funge da punto di riferimento per il calcolo del giorno della settimana per una determinata data. Funziona come punto di partenza o ancoraggio per i calcoli coinvolti nella determinazione del giorno della settimana.
Per calcolare il giorno dell'ancora del secolo, l'anno viene diviso per 100 per determinare il secolo. Il secolo viene quindi utilizzato per trovare il giorno dell'ancora per quel secolo specifico. Questo giorno dell'ancora rimane lo stesso per tutti gli anni di quel secolo. I giorni di ancoraggio per diversi secoli sono predefiniti e basati sulle regole dell'algoritmo del giorno del giudizio.
Determinazione del giorno di ancoraggio dell'anno
Prendi le ultime due cifre dell'anno. Dividi queste due cifre per 12 per ottenere il quoziente e il resto. Dividi il resto per 4 per ottenere il numero degli anni bisestili. Somma il quoziente, il resto e il numero degli anni bisestili. Infine, prendi questa somma modulo 7 (risultato mod 7) per ottenere il giorno di ancoraggio dell'anno.
Determinazione del giorno di ancoraggio del mese
Recupera il numero corrispondente per il mese specificato. Il giorno dell'ancora del mese è semplicemente il numero assegnato. Assegnare un numero specifico a ciascun mese come segue −
Gennaio - 3
Febbraio - 0
Marzo - 0
Aprile - 4
Maggio - 9
Giugno - 6
-
Luglio - 11
Agosto − 8
Settembre - 5
Ottobre - 10
Novembre - 7
Dicembre - 12
Calcolo del giorno del giudizio
Aggiungi insieme il giorno dell'ancora del secolo, il giorno dell'ancora dell'anno e il giorno dell'ancora del mese. Prendi questa somma modulo 7 (risultato mod 7) per ottenere il giorno del giudizio. Il giorno del giudizio è rappresentato da un numero intero compreso tra 0 e 6, dove 0 corrisponde a domenica, 1 a lunedì e così via.
Esempio
Possiamo calcolare il giorno del giudizio utilizzando Python con il seguente codice implementando i passaggi sopra menzionati uno per uno.
def calculate_doomsday(year, month, day):
# Calculate the century anchor day
century = year // 100
anchor = (5 * (century % 4) + 2) % 7
# Calculate the year anchor day
year_within_century = year % 100
quotient = year_within_century // 12
remainder = year_within_century % 12
num_leap_years = year_within_century // 4
year_anchor = (anchor + quotient + remainder + num_leap_years) % 7
# Calculate the month anchor day
month_anchors = [3, 0, 0, 4, 9, 6, 11, 8, 5, 10, 7, 12]
month_anchor = month_anchors[month - 1]
# Calculate the weekday
day_of_week = (year_anchor + month_anchor + day) % 7
return day_of_week
year = 1995
month = 1
day = 22
day_of_week = calculate_doomsday(year, month, day)
days_of_week = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
print(f"The Dooms day of the week for {month}/{day}/{year} is {days_of_week[day_of_week]}.")
Produzione
The Dooms day of the week for 1/22/1995 is Saturday.