सकारात्मक पूर्णांक मान n के साथ दिया गया है और कार्य दिए गए वर्ष n तक विषम दिनों की संख्या उत्पन्न करना है।
उदाहरण
Input-: days = 500 Output-: number of odd days are: 5 Input-: days = 400 Output-: number of odd days are: 0
दिए गए वर्षों में विषम दिनों की संख्या की गणना कैसे करें
विषम दिनों की संख्या की गणना करने के लिए सबसे पहले हमें यह जांचना होगा कि दिया गया वर्ष लीप वर्ष है या नहीं, क्योंकि यदि यह लीप वर्ष है तो विषम दिनों की संख्या बदल जाएगी। यदि वर्ष 100 या 400 से विभाज्य है लेकिन 4 से नहीं तो वर्ष लीप वर्ष होगा अन्यथा यह सामान्य वर्ष होगा। यदि हम 7 के साथ दिनों की कुल संख्या का मापांक ज्ञात करें अर्थात सप्ताह में दिनों की संख्या। तो, साधारण वर्ष में 1 विषम दिन होता है और लीप वर्ष में 2 विषम दिन होते हैं।
दिए गए कार्यक्रम में हम जिस दृष्टिकोण का उपयोग कर रहे हैं, वह इस प्रकार है -
- इनपुट के रूप में दिनों की संख्या दर्ज करें
- जांचें कि वर्ष लीप वर्ष है या सामान्य दिन
- दिनों की कुल संख्या को मापांक से भाग देकर विषम दिनों की गणना करें
- अंतिम परिणाम को वर्ष में 1 से n तक के दिनों की संख्या के रूप में प्रदर्शित करें
एल्गोरिदम
Start Step 1-> Declare function to calculate number of odd days in a given year int cal_odd(int days) declare int cal_1 = days / 100 declare int cal_2 = days / 400 declare int check_leap = days >> 2 declare int temp = days - check_leap IF (cal_1) set temp += cal_1 Set check_leap -= cal_1 End IF (cal_2) Set temp -= cal_2 Set check_leap += cal_2 End declare int final_days = temp + check_leap * 2 Declare int odd = final_days % 7 return odd step 2->In main() Declare int days = 500 call cal_odd(days) Stop
उदाहरण
#include <iostream> using namespace std; //calculate number of odd days in a given year int cal_odd(int days) { int cal_1 = days / 100; int cal_2 = days / 400; int check_leap = days >> 2; int temp = days - check_leap; if (cal_1) { temp += cal_1; check_leap -= cal_1; } if (cal_2) { temp -= cal_2; check_leap += cal_2; } int final_days = temp + check_leap * 2; int odd = final_days % 7; return odd; } int main() { int days = 500; cout<<"number of odd days are : "<<cal_odd(days); return 0; }
आउटपुट
number of odd days are : 5