0
0

Conditional Calendar Logic

Introduction

Conditional Calendar Logic समस्याएँ एक या अधिक शर्तें देती हैं जो weekdays, तारीखों, या उनके संबंधों के बारे में होती हैं (उदा., "यदि किसी महीने की 1 तारीख Friday है, तो...") और आपसे किसी अन्य तारीख का weekday निकालने या किसी conditional परिणाम की पुष्टि करने के लिए कहती हैं। ये समस्याएँ odd-day गणना और तार्किक निष्कर्ष दोनों परखती हैं - आपको शर्तों को सटीक दिन-शिफ्ट्स में बदलना होगा, समावेशिता ठीक से संभालनी होगी, और कई शर्तों को मिलाते समय असंगति नहीं पैदा करनी चाहिए।

Pattern: Conditional Calendar Logic

Pattern

मुख्य अवधारणा: हर शर्त को एक सटीक मॉड्यूलर शिफ्ट में बदलें (mod 7), D - 1 का उपयोग तब करें जब आप 1 तारीख से D-वीं तारीख पर जाएँ, मॉड्यूलर समीकरणों को मिलाकर संगति (consistency) जांचें, और हमेशा महीनों की लंबाई व leap-year प्रभावों का ध्यान रखें।

Step-by-Step Example

Question

यदि किसी महीने की 1 तारीख Friday है और उस महीने में 30 दिन हैं, तो उस महीने की आख़िरी तारीख का weekday क्या होगा? और यदि अगले महीने की 1 तारीख Sunday है, क्या यह पहली शर्त के साथ टकराव (conflict) करेगी?

Solution

  1. Step 1: सही शिफ्ट फ़ॉर्मूला इस्तेमाल करें

    जब 1 तारीख काweekday पता हो और D-वीं तारीख का जानना हो तो उपयोग करें:
    weekday(D) = weekday(1) + (D - 1) mod 7.
    किसी महीने के आख़िरी दिन के लिए उपयोग करें: weekday(last) = weekday(1) + (n - 1) mod 7 जहाँ n उस महीने के दिन हैं।
  2. Step 2: 30-दिन के महीने पर लागू करें

    यहाँ n = 30 → n - 1 = 29. 29 mod 7 = 1. अतः आख़िरी दिन = Friday + 1 दिन = Saturday.
  3. Step 3: अगले महीने की 1 तारीख जाँचें

    आख़िरी दिन के अगले दिन ही अगले महीने की 1 तारीख होती है। चूँकि आख़िरी दिन Saturday है, तो अगले महीने की 1 = Saturday + 1 = Sunday
  4. Final Answer:

    आख़िरी दिन = Saturday. "अगले महीने की 1 तारीख Sunday है" वाक्य पहली शर्त के साथ सुसंगत (consistent) है - कोई conflict नहीं है।
  5. Quick Check:

    कुछ दिनों को सूचीबद्ध करें: 1→Fri, 2→Sat, …, 29→Fri, 30→Sat. अगला दिन = Sun ✅

Quick Variations

1. 31-दिन का महीना: n - 1 = 30 ≡ 2 (mod 7) → आख़िरी दिन = weekday(1) + 2।

2. फ़रवरी (non-leap): n - 1 = 27 ≡ 6 → आख़िरी दिन = weekday(1) - 1 (या +6)।

3. फ़रवरी (leap): n - 1 = 28 ≡ 0 → आख़िरी दिन = weekday(1) (1 तारीख और आख़िरी तारीख एक ही weekday)।

4. शर्तों का संयोजन: यदि कई शर्तें दी हों (उदा., "1st is Friday" और "15th is Tuesday"), तो हर एक के लिए मॉड्यूलर समीकरण लिखें और संगति जाँचें: weekday(15) = weekday(1) + 14 ≡ weekday(1) (क्योंकि 14 ≡ 0)।

Trick to Always Use

  • 1 से D-वीं तारीख में जाने के लिए हमेशा (D - 1) का उपयोग करें ताकि off-by-one गलतियाँ न हों।
  • (days_in_month - 1) mod 7 निकालकर 1 तारीख से आख़िरी दिन तक का शिफ्ट पायें।
  • कई शर्तों को modular समीकरणों के रूप में व्यक्त करें और देखें कि वे सभी एक साथ成立 हैं या नहीं (एक ही तारीख के लिए उसी weekday का परिणाम होना चाहिए)।
  • फ़रवरी के लिए leap-year नियम याद रखें (29 दिनों वाला महीना ⇒ n - 1 = 28 ⇒ 0 mod 7 → last day = 1st)।
  • यदि दो शर्तें उसी तारीख के लिए अलग-अलग weekdays देती हैं तो इसे conflict घोषित करें - ज़ोर देकर फ़िट करने की कोशिश न करें।

Summary

Summary

  • दिए गए सभी date-statements को मॉड्यूलर (mod 7) सम्बन्धों में बदलें।
  • हमेशा फ़ॉर्मूला लागू करें: weekday(D) = weekday(1) + (D - 1) mod 7.
  • आख़िरी दिन के लिए (days_in_month - 1) का प्रयोग करें।
  • एक से अधिक शर्तें मिलाते समय तार्किक संगति जाँचें।
  • फ़रवरी शामिल हो तो leap-year प्रभावों का ध्यान रखें।

याद रखने के लिए उदाहरण:
यदि 1st Friday है और महीने में 30 दिन हैं → आख़िरी दिन = Saturday; अगले महीने की 1 = Sunday.

Practice

(1/5)
1. If the 1st day of a 31-day month is Monday, what will be the weekday of the last day of that month?
easy
A. Wednesday
B. Thursday
C. Friday
D. Tuesday

Solution

  1. Step 1: Identify base weekday

    The 1st day = Monday.
  2. Step 2: Compute day shift

    31-day month → (days - 1) = 30 → 30 mod 7 = 2.
  3. Step 3: Apply shift

    Monday + 2 = Wednesday.
  4. Final Answer:

    Wednesday → Option A
  5. Quick Check:

    31-day month last day = weekday(1) + 2 → Monday → Wednesday ✅
Hint: 31-day month → next month's 1st = weekday(1) + 3 (direct rule).
Common Mistakes: Using +2 instead of +3 for 31-day months when applying the direct rule.
2. If 1st April is Thursday and April has 30 days, which weekday will 1st May be?
easy
A. Saturday
B. Sunday
C. Monday
D. Tuesday

Solution

  1. Step 1: Compute last day of April

    30 days → (days - 1) = 29 → 29 mod 7 = 1 → last day = Thursday + 1 = Friday.
  2. Step 2: Next month's 1st

    Day after Friday = Saturday.
  3. Final Answer:

    Saturday → Option A
  4. Quick Check:

    30-day month → next month's 1st = Thursday + 2 (direct rule) → Saturday ✅
Hint: 30-day month → next month's 1st = weekday(1) + 2.
Common Mistakes: Confusing last-day shift with next month's 1st - using +1 instead of +2 for 30-day months.
3. If 1st February 2024 (leap year) is Thursday, what day will be 1st March 2024?
easy
A. Thursday
B. Friday
C. Saturday
D. Sunday

Solution

  1. Step 1: Leap February

    29 days → (days - 1) = 28 → 28 mod 7 = 0 → last day = Thursday.
  2. Step 2: Next month's 1st

    Thursday + 1 = Friday.
  3. Final Answer:

    Friday → Option B
  4. Quick Check:

    Leap February → next month's 1st = weekday(1) + 1 → Thu → Fri ✅
Hint: Leap February (29 days) → next month's 1st = weekday(1) + 1.
Common Mistakes: Using non-leap February shift (+0) instead of leap-year shift (+1).
4. If the 1st of June is Wednesday and June has 30 days, which day will 1st July be?
medium
A. Thursday
B. Saturday
C. Friday
D. Sunday

Solution

  1. Step 1: June days

    30-day month → +2 by direct rule.
  2. Step 2: Apply shift

    Wednesday + 2 = Friday.
  3. Final Answer:

    Friday → Option C
  4. Quick Check:

    Wed + 2 = Fri (30-day direct rule) ✅
Hint: 30-day month → next month's 1st = weekday(1) + 2.
Common Mistakes: Using +1 instead of +2 due to confusing last-day shift with next month's 1st.
5. If 1st November 2023 is Wednesday, what will be the day on 1st December 2023?
medium
A. Thursday
B. Saturday
C. Sunday
D. Friday

Solution

  1. Step 1: Days in November

    November has 30 days → next month's 1st shift = +2.
  2. Step 2: Apply shift

    Wednesday + 2 = Friday.
  3. Final Answer:

    Friday → Option D
  4. Quick Check:

    Wed → Fri (+2) for 30-day month (direct rule) ✅
Hint: 30-day month → next month's 1st = weekday(1) + 2.
Common Mistakes: Using +1 for 30-day months due to mixing last-day and next-day logic.

Mock Test

Ready for a challenge?

Take a 10-minute AI-powered test with 10 questions (Easy-Medium-Hard mix) and get instant SWOT analysis of your performance!

10 Questions
5 Minutes