কম্পিউটার

পরবর্তী অভিন্ন ক্যালেন্ডার বছরটি C++ এ খুঁজুন


ধরুন আমাদের একটি Y বছর আছে। Y-এর পরবর্তী অভিন্ন ক্যালেন্ডার বছর খুঁজুন। সুতরাং 2017-এর ক্যালেন্ডার 2023-এর সাথে অভিন্ন।

একটি বছর X আগের বছর Y প্রদত্ত একই যদি এটি এই দুটি শর্তের সাথে মেলে।

  • x বছরের একই দিন দিয়ে শুরু হয়,
  • যদি y অধিবর্ষ হয়, তাহলে xও, যদি y সাধারণ বছর হয়, তাহলে xও সাধারণ বছর।

আগামী বছর থেকে এক এক করে সব বছর পরীক্ষা করার চিন্তাভাবনা। আমরা এগিয়ে যাওয়া দিনের সংখ্যার উপর নজর রাখব। যদি মোট 7টি স্থানান্তরিত দিন থাকে, তাহলে চলতি বছর একই দিন দিয়ে শুরু হয়। আমরা বর্তমান বছরটি লিপ ইয়ার কিনা তাও পরীক্ষা করি, যদি তাই হয়, তাহলে y এর জন্যও পরীক্ষা করুন। উভয় শর্ত সন্তুষ্ট হলে, আমরা চলতি বছর ফিরে আসব।

উদাহরণ

#include<iostream>
using namespace std;
int countExtraDays(int y) {
   if (y%400==0 || y%100!=0 && y%4==0)
   return 2;
   return 1;
}
int nextIdenticalYear(int y) {
   int days = countExtraDays(y);
   int x = y + 1;
   for (int sum=0; ; x++) {
      sum = (sum + countExtraDays(x)) % 7;
      if ( sum==0 && (countExtraDays(x) == days))
      return x;
   }
   return x;
}
int main() {
   int curr = 2019;
   cout << "Next identical year of " << curr <<" is: " << nextIdenticalYear(curr);
}

আউটপুট

Next identical year of 2019 is: 2030

  1. C++ এ একটি লাইনের মধ্যবিন্দু খুঁজে বের করার জন্য প্রোগ্রাম

  2. C++ এ ত্রিভুজের সেন্ট্রোয়েড খুঁজে বের করার প্রোগ্রাম

  3. C++ এ একটি পেন্টাগনের এলাকা খুঁজে বের করার প্রোগ্রাম

  4. C++ এ সমান্তরালগ্রামের ক্ষেত্রফল বের করার প্রোগ্রাম