Ricerca nel sito web

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.

Articoli correlati: