1 पॉइंट द्वारा GN⁺ 2024-05-26 | 1 टिप्पणियां | WhatsApp पर शेयर करें

लुईस कैरॉल द्वारा प्रस्तावित तारीख-गणना विधि

31 मार्च 1887 को Nature को लुईस कैरॉल द्वारा भेजा गया पत्र:

मैंने एक ऐसी विधि खोजी है जिससे किसी दी गई तारीख का सप्ताह का दिन मन ही मन निकाला जा सकता है, और मुझे लगा कि यह पाठकों के लिए रुचिकर होगी, इसलिए इसे भेज रहा हूँ। मैं तेज़ गणक नहीं हूँ, और औसतन ऐसे प्रश्न को हल करने में मुझे लगभग 20 सेकंड लगते हैं। इसलिए मुझे पूरा विश्वास है कि कोई तेज़ गणक 15 सेकंड भी नहीं लेगा।

गणना की विधि

  • दी गई तारीख को 4 भागों में बाँटें: शताब्दी, वर्ष, महीना, दिन।
  • नीचे दिए गए 4 मदों की गणना करें, और हर मद को पिछले मदों के योग में जोड़ें। यदि कोई मद या योग 7 से अधिक हो, तो उसे 7 से भाग देकर केवल शेष रखें।

शताब्दी मद

  • पुरानी शैली (2 सितंबर 1752 से पहले): 18 में से घटाएँ।
  • नई शैली (14 सितंबर 1752 के बाद): 4 से भाग दें, और 3 में से शेष घटाकर उस परिणाम को 2 से गुणा करें।
  • उदाहरण: 1811 के लिए, शताब्दी मद 18 है।

वर्ष मद

  • 12 के गुणज, शेष, और शेष के 4 के गुणज को जोड़ें।

महीना मद

  • यदि नाम स्वर से शुरू होता है या स्वर पर समाप्त होता है, तो उस महीने की स्थिति को 10 में से घटाएँ। इस मान में उस महीने के दिनों की संख्या जोड़ें।
  • उदाहरण: जनवरी का मद '0', फरवरी या मार्च का '3', दिसंबर का '12'।
  • अंतिम मान: जनवरी 0, फरवरी 3, मार्च 3, अप्रैल 6, मई 1, जून 4, जुलाई 6, अगस्त 2, सितंबर 5, अक्टूबर 0, नवंबर 3, दिसंबर 5।

दिन मद

  • महीने की तारीख।

लीप वर्ष समायोजन

  • यदि तारीख लीप वर्ष के जनवरी या फरवरी में हो, तो अंतिम योग में से '1' घटाएँ। यदि योग '0' हो, तो पहले उसमें 7 जोड़ें।
  • लीप वर्ष: वह वर्ष जो 4 से विभाज्य हो, लेकिन नई शैली में ऐसे शताब्दी वर्ष शामिल नहीं हैं जो 4 से विभाज्य न हों (उदाहरण: 1800)।

अंतिम परिणाम

  • अंतिम परिणाम सप्ताह के दिन को दर्शाता है। '0' रविवार है, '1' सोमवार, आदि।

उदाहरण

18 सितंबर 1783

  • शताब्दी मद: 17 को 4 से भाग देने पर शेष '1'। 3 में से 1 घटाने पर '2'। 2 को 2 से गुणा करने पर '4'।
  • वर्ष मद: 83 में 6 दर्जन और 11, कुल 17। इसमें 2 जोड़कर 19, 7 से भाग देने पर '5'। कुल योग 9, 7 से भाग देने पर '2'।
  • महीना मद: अगस्त का मद '10 में से 8 घटाने पर', यानी '2'। सितंबर का मद '2 में 3 जोड़ने पर', यानी '5'। कुल योग 7, 7 से भाग देने पर '0'।
  • दिन मद: 18 का शेष '4'।
  • अंतिम परिणाम: 'गुरुवार'।

23 फ़रवरी 1676

  • शताब्दी मद: 18 में से 16 घटाने पर '2'।
  • वर्ष मद: 76 में 6 दर्जन और 4, कुल 10। इसमें 1 जोड़कर 11, 7 से भाग देने पर '4'। कुल योग '6'।
  • महीना मद: फ़रवरी का मद '3'। कुल योग 9, 7 से भाग देने पर '2'।
  • दिन मद: 23 का शेष '2'। कुल योग '4'।
  • लीप वर्ष समायोजन: '3'।
  • अंतिम परिणाम: 'बुधवार'।

(स्रोत: Edward Wakeling, Rediscovered Lewis Carroll Puzzles, 1995.)

GN⁺ की राय

  • लुईस कैरॉल की तारीख-गणना विधि गणितीय सोच विकसित करने में उपयोगी है।
  • यह विधि कंप्यूटर के बिना भी तारीख की गणना करने का एक रोचक तरीका है।
  • लीप वर्ष की गणना जैसी बारीकियों को समझने से अधिक सटीक परिणाम मिल सकते हैं।
  • आधुनिक कैलेंडर गणना से इसकी तुलना करना भी दिलचस्प हो सकता है।
  • गणितीय पहेलियाँ पसंद करने वालों के लिए यह एक चुनौतीपूर्ण समस्या बन सकती है।

1 टिप्पणियां

 
GN⁺ 2024-05-26
Hacker News प्रतिक्रिया

Hacker News टिप्पणियों का संक्षिप्त सार

  • उपयोगकर्ता A: यह तरीका मेरे इस्तेमाल वाले तरीके से बहुत मिलता-जुलता है, और Art Benjamin भी यही इस्तेमाल करते हैं। इसे 10~15 सेकंड में किया जा सकता है, लेकिन इसके लिए अभ्यास, थोड़ी याददाश्त, और साधारण अंकगणित चाहिए। यह तकनीक सीख लेने पर बहुत उपयोगी है।

    • उदाहरण: 24 मई 2024 के दिन की गणना
      2012 के बाद 12 वर्ष
      3 leap year
      magic month number 2
      दिनांक 24
      जोड़ के बाद 7 से भाग देने पर शेष: शुक्रवार
      
  • उपयोगकर्ता B: JH Conway एक अलग तकनीक इस्तेमाल करते थे, और मौजूदा वर्ष का दिन निकालते समय यह ज्यादा तेज और आसान है। लेकिन दूसरे वर्षों के "Doomsday" की गणना करते समय इसमें कठिनाई होती है, इसलिए फिर मूल तरीके पर लौटना पड़ता है।

  • उपयोगकर्ता C: 1752 में हुई पुरानी और नई तारीख प्रणाली के अंतर के बारे में पढ़ना रोचक लगा। 18वीं सदी में ब्रिटेन का कानूनी वर्ष 25 मार्च से शुरू होता था।

  • उपयोगकर्ता D: महीने के नंबर निकालने वाले algorithm को समझने में दिक्कत हो रही है। वह हर महीने का नंबर निकालने का तरीका समझाते हैं और बताते हैं कि उनकी कोशिश और लेख में दिए गए नतीजे आपस में मेल नहीं खाते।

  • उपयोगकर्ता E: Carroll का algorithm समय के साथ विकसित हुआ है। वह नवीनतम सुधारों सहित First Sunday Doomsday Algorithm पेश करते हैं।

  • उपयोगकर्ता F: उन्होंने एक blog post लिखी है जिसमें ज्यादा सरल तरीका समझाया गया है। लिंक के जरिए विस्तार से देखा जा सकता है।

  • उपयोगकर्ता G: Art Benjamin को TED talk में यह तकनीक दिखाते देखना बहुत दिलचस्प था। उनके हाथों की हरकतों से बीच की गणनाओं को ट्रैक किया जा सकता है।

  • उपयोगकर्ता H: Lewis Carroll के तरीके का उपयोग करके 24 मई 2024 के दिन की गणना करते हैं।

    • उदाहरण:
      century item: 6
      year item: 2
      month item: 1
      day item: 24
      कुल योग: शुक्रवार
      
  • उपयोगकर्ता I: तारीख का दिन निकालने के लिए Python code का इस्तेमाल करने का तरीका साझा करते हैं।

    def compute_day_of_week(date):
        day, month, year = date
        century = year // 100
        year_part = year % 100
    
        # 세기 항목 계산
        if year < 1752 or (year == 1752 and (month < 9 or (month == 9 and day < 14))):
            century_item = (18 - century) % 7
        else:
            century_item = ((3 - (century % 4)) * 2) % 7
    
        # 연도 항목 계산
        year_item = (year_part + (year_part // 4)) % 7
    
        # 월 항목 계산
        month_items = [0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5]
        month_item = month_items[month - 1]
    
        # 날짜 항목 계산
        day_item = day % 7
    
        # 총합
        total = (century_item + year_item + month_item + day_item) % 7
    
        # 윤년 보정
        if month <= 2 and (year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)):
            total = (total - 1 + 7) % 7
    
        return total
    
    def day_of_week_string(day_index):
        days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
        return days[day_index]
    
    # 날짜 입력 받기
    date_input = input("Enter a date (yyyy-mm-dd): ")
    year, month, day = map(int, date_input.split('-'))
    date = (day, month, year)
    
    # 요일 계산 및 출력
    day_index = compute_day_of_week(date)
    day_name = day_of_week_string(day_index)
    print(f"The day of the week for {date_input} is {day_name}.")
    
  • उपयोगकर्ता J: वह इस बात पर जोर देते हैं कि गणित में notation कितना महत्वपूर्ण है। उनका कहना है कि notation गणित और computer science दोनों में बहुत अहम तत्व है।

  • उपयोगकर्ता K: अगर कोई यह काम 20 सेकंड के भीतर कर ले, तो यह हैरान करने वाली बात है। उन्होंने खुद को कभी "तेज़ गणना करने वाला" नहीं माना।