cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A057348 Days in months in the Islamic calendar starting from Muharram, 1 AH. The twelfth month has 30 days in a leap year.

Original entry on oeis.org

30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 30, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 30, 30, 29, 30, 29, 30, 29, 30, 29, 30
Offset: 1

Views

Author

Keywords

Comments

The months' names are Muharram, Safar, Rabi I, Rabi II, Jumada I, Jumada II, Rajab, Shaban, Ramadan, Shawwal, Dhu al-Qada, Dhu al-Hijja. The year, 354 11/30 days long, is defined as 12 lunar months and so travels around the solar year.
Periodic with period 360; the average month length is 29 + 191/360 = 29.530555... days. This is about 0.000032425 days shorter than the synodic month. - Charles R Greathouse IV, Mar 28 2016
Worldwide, five different Islamic leap-year cycles are currently in use; the month lengths a(n) correspond to the most common leap-year sequence (called "Fazari"). See A350539. - Robert B Fowler, Dec 07 2022

References

  • N. Dershowitz and E. M. Reingold, Calendrical Calculations, Cambridge University Press, 1997.

Crossrefs

Programs

  • Maple
    isIslamicLeapYear := year -> irem(11 * year + 14, 30) < 11:
    LastDayOfIslamicMonth := (year, month) -> if irem(month, 2) = 1 or (month = 12 and isIslamicLeapYear(year)) then 30 else 29 fi:
    seq(seq(LastDayOfIslamicMonth(year, month), month=1..12), year = 1..5);
    # Peter Luschny, Jan 07 2022
  • Mathematica
    If[Mod[n, 2]==1, 30, If[Mod[n, 12]!=0, 29, If[Mod[14+11(Floor[(n-1)/12]+1), 30]<11, 30, 29]]]
  • PARI
    a(n)=if(n%2,30,n%12,29,(n/12*11+14)%30<11,30,29) \\ Charles R Greathouse IV, Mar 28 2016

Formula

From Robert B Fowler, Dec 07 2022: (Start)
y = floor((n-1)/12) + 1 (Islamic year number)
m = ((n-1) mod 12) + 1 (Islamic month number)
a(n) = 29 + (m mod 2) + floor(m/12)*(floor((11*(y+1)+3)/30) - floor((11*y+3)/30)). (End)