কম্পিউটার টিউটোরিয়াল

সি++ প্রোগ্রাম: নির্দিষ্ট বছরের মধ্যে বিজোড় দিনের সংখ্যা গণনা


ধনাত্মক পূর্ণসংখ্যা n দেওয়া থাকলে, n বছরের মধ্যে বিজোড় দিনের (odd days) সংখ্যা নির্ণয় করা এই প্রোগ্রামের কাজ।

উদাহরণ

Input-: days = 500 Output-: number of odd days are: 5 Input-: days = 400 Output-: number of odd days are: 0

বিজোড় দিন গণনা পদ্ধতি

বিজোড় দিন গণনার জন্য প্রথমে জানতে হবে bahawa বছরটি লিপইয়ার (leap year) কি না, কারণ লিপইয়ার হলে বিজোড় দিনের সংখ্যা পরিবর্তন হয়। বছরটি যদি ১০০ বা ৪০০ দিয়ে বিভাজ্য হয় কিন্তু ৪ দিয়ে না, তবে সেটি লিপইয়ার, অন্যথায় সাধারণ বছর। মোট দিনকে ৭ দিয়ে ভাগ করে বাকি (modulus) নির্ণয় করলে বিজোড় দিন পাওয়া যায়। সাধারণ বছরে ১টি বিজোড় দিন থাকে, লিপইয়ারে ২টি।

প্রোগ্রামে ব্যবহৃত পদ্ধতি:

  • বছরের সংখ্যা ইনপুট নেওয়া
  • বছরটি লিপইয়ার কি না সাধারণ কি তা যাচাই করা
  • মোট দিনকে ৭ দিয়ে ভাগ করে বিজোড় দিন গণনা করা
  • ১ থেকে n വര বছরের বিজোড় দিনের ফলাফল প্রদর্শন করা

অ্যালগরিদম

Start Step 1→ দেওয়া বছরের বিজোড় দিন গণনার ফাংশন ঘোষণা    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 সেট    End    IF (cal_2)       temp -= cal_2 সেট       check_leap += cal_2 সেট    End    int final_days = temp + check_leap * 2 ঘোষণা    int odd = final_days % 7 ঘোষণা    return odd step 2→ main() এ    days = 500 ঘোষণা    cal_odd(days) কল Stop

উদাহরণ

#include <iostream> using namespace std; // দেওয়া বছরের বিজোড় দিন গণনা 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

  1. C/C++ প্রোগ্রামে বিজোড় বার ঘটা সংখ্যা বের করা

  2. C++ প্রোগ্রাম: গ্রাফে ব্রিজ এজের সংখ্যা নির্ণয়

  3. C++-এ দেওয়া সংখ্যার ডিজিটগুলোর যোগফল বের করা

  4. সংখ্যার ঘাত (Power) বের করার C++ প্রোগ্রাম (রিকার্সিভ ও নন-রিকার্সিভ)