A057348 Days in months in the Islamic calendar starting from Muharram, 1 AH. The twelfth month has 30 days in a leap year.
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
References
- N. Dershowitz and E. M. Reingold, Calendrical Calculations, Cambridge University Press, 1997.
Links
- E. G. Richards, Collected algorithms from Mapping Time. The Calendar and its History, Oxford University Press 1999, (with corrections).
- Index entries for linear recurrences with constant coefficients, order 360.
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)
Comments