def IanTaylorEasterJscr(metai): a = metai % 19 b = metai >> 2 c = b // 25 + 1 d = (c * 3) >> 2 e = ((a * 19) - ((c * 8 + 5) // 25) + d + 15) % 30 e += (29578 - a - e * 32) >> 10 e -= ((metai % 7) + b - d + e + 2) % 7 d = e >> 5 diena = e - d * 31 menuo = d + 3 return metai, menuo, diena print "Velykų sekmadieniai:" for metai in range(2099, 2301): m, men, d = IanTaylorEasterJscr(metai) print "%d-%d-%d" % (m, men, d)
Standard input is empty
Velykų sekmadieniai: 2099-4-12 2100-3-28 2101-4-17 2102-4-9 2103-3-25 2104-4-13 2105-4-5 2106-4-18 2107-4-10 2108-4-1 2109-4-21 2110-4-6 2111-3-29 2112-4-17 2113-4-2 2114-4-22 2115-4-14 2116-3-29 2117-4-18 2118-4-10 2119-3-26 2120-4-14 2121-4-6 2122-3-29 2123-4-11 2124-4-2 2125-4-22 2126-4-14 2127-3-30 2128-4-18 2129-4-10 2130-3-26 2131-4-15 2132-4-6 2133-4-19 2134-4-11 2135-4-3 2136-4-22 2137-4-7 2138-3-30 2139-4-19 2140-4-3 2141-3-26 2142-4-15 2143-3-31 2144-4-19 2145-4-11 2146-4-3 2147-4-16 2148-4-7 2149-3-30 2150-4-12 2151-4-4 2152-4-23 2153-4-15 2154-3-31 2155-4-20 2156-4-11 2157-3-27 2158-4-16 2159-4-8 2160-3-23 2161-4-12 2162-4-4 2163-4-24 2164-4-8 2165-3-31 2166-4-20 2167-4-5 2168-3-27 2169-4-16 2170-4-1 2171-4-21 2172-4-12 2173-4-4 2174-4-17 2175-4-9 2176-3-31 2177-4-20 2178-4-5 2179-3-28 2180-4-16 2181-4-1 2182-4-21 2183-4-13 2184-3-28 2185-4-17 2186-4-9 2187-3-25 2188-4-13 2189-4-5 2190-4-25 2191-4-10 2192-4-1 2193-4-21 2194-4-6 2195-3-29 2196-4-17 2197-4-9 2198-3-25 2199-4-14 2200-4-6 2201-4-19 2202-4-11 2203-4-3 2204-4-22 2205-4-7 2206-3-30 2207-4-19 2208-4-3 2209-3-26 2210-4-15 2211-3-31 2212-4-19 2213-4-11 2214-3-27 2215-4-16 2216-4-7 2217-3-30 2218-4-12 2219-4-4 2220-4-23 2221-4-15 2222-3-31 2223-4-20 2224-4-11 2225-3-27 2226-4-16 2227-4-8 2228-3-23 2229-4-12 2230-4-4 2231-4-24 2232-4-8 2233-3-31 2234-4-20 2235-4-5 2236-3-27 2237-4-16 2238-4-1 2239-4-21 2240-4-12 2241-4-4 2242-4-17 2243-4-9 2244-3-31 2245-4-13 2246-4-5 2247-3-28 2248-4-16 2249-4-1 2250-4-21 2251-4-13 2252-3-28 2253-4-17 2254-4-9 2255-3-25 2256-4-13 2257-4-5 2258-4-25 2259-4-10 2260-4-1 2261-4-21 2262-4-6 2263-3-29 2264-4-17 2265-4-2 2266-3-25 2267-4-14 2268-4-5 2269-4-18 2270-4-10 2271-4-2 2272-4-21 2273-4-6 2274-3-29 2275-4-18 2276-4-2 2277-4-22 2278-4-14 2279-3-30 2280-4-18 2281-4-10 2282-3-26 2283-4-15 2284-4-6 2285-3-22 2286-4-11 2287-4-3 2288-4-22 2289-4-7 2290-3-30 2291-4-19 2292-4-10 2293-3-26 2294-4-15 2295-4-7 2296-4-19 2297-4-11 2298-4-3 2299-4-16 2300-4-8