ปีปกติเป็นปีที่ไม่ได้เป็นปีอธิกสุรทินและสถานที่ที่วันแรกและวันสุดท้ายของปีในวันเดียวกัน ปีปกติพิเศษเป็นสิ่งหนึ่งที่จะเริ่มต้นในวันจันทร์และสิ้นสุดในวันจันทร์เช่นกัน
ความท้าทายของคุณคือการสร้างโปรแกรม / ฟังก์ชั่นที่เมื่อให้เวลาหนึ่งปีเมื่ออินพุทค้นหาปีสามัญพิเศษที่ใกล้ที่สุด หากปีนั้นใกล้เคียงกับปีก่อนหน้านั้นเช่นเดียวกับปีถัดไปก็จะส่งออกที่มีขนาดใหญ่กว่า
อินพุต
1600 <= x <= 2100
จำนวนเต็มเป็นตัวแทนของปีที่จะทดสอบกับในช่วง
เอาท์พุต
จำนวนเต็มแทนปีสามัญพิเศษที่ใกล้ที่สุด
กรณีทดสอบ
2017 -> 2018
2018 -> 2018
1992 -> 1990
1600 -> 1601
2100 -> 2103
1728 -> 1731 (lies between 1725 and 1731)
หมายเหตุ
ทั้ง 54 ปีในช่วงที่กำหนดได้แสดงไว้แล้วในบทความ Wikipedia ที่เชื่อมโยง ฉันจะให้พวกเขาที่นี่สำหรับการอ้างอิง:
1601, 1607, 1618, 1629, 1635, 1646, 1657, 1663, 1674, 1685, 1691
1703, 1714, 1725, 1731, 1742, 1753, 1759, 1770, 1781, 1787, 1798
1810, 1821, 1827, 1838, 1849, 1855, 1866, 1877, 1883, 1894, 1900
1906, 1917, 1923, 1934, 1945, 1951, 1962, 1973, 1979, 1990
2001, 2007, 2018, 2029, 2035, 2046, 2057, 2063, 2074, 2085, 2091
2103 (Needed for 2097 to 2100)
a year that is not a leap year and where the first and last day of the year are on the same day
ส่วนที่สองของคำจำกัดความนั้นซ้ำซ้อน ปีที่ไม่ก้าวกระโดดทั้งหมดจะเริ่มต้นและสิ้นสุดในวันเดียวกันโดยมีระยะเวลา 52 สัปดาห์และหนึ่งวัน (365 วัน)
6, 11, 11
เพียงสำหรับการอ้างอิงถึงการช่วยให้ผู้คนออกลำดับที่ดูเหมือนจะไป IE 6 ปีหลังจากครั้งแรกเป็นอีก 11 ปีหลังจากนั้นเป็นอีก 11 ปีหลังจากนั้นอีก 6 ปีหลังจากนั้นเป็นอีก 6 ปี