কম্পিউটার

Zeller এর অ্যালগরিদম ব্যবহার করে সপ্তাহের দিন খুঁজুন


Zeller's Algorithm একটি প্রদত্ত তারিখ থেকে সপ্তাহের দিন খুঁজে বের করতে ব্যবহৃত হয়৷ জেলারের অ্যালগরিদম ব্যবহার করে সপ্তাহের দিন খোঁজার সূত্রটি এখানে রয়েছে:

Zeller এর অ্যালগরিদম ব্যবহার করে সপ্তাহের দিন খুঁজুন

সূত্রে কিছু ভেরিয়েবল রয়েছে; তারা হল -

d - তারিখের দিন।

m:এটা মাসের কোড। মার্চ থেকে ডিসেম্বর পর্যন্ত এটি 3 থেকে 12, জানুয়ারির জন্য এটি 13 এবং ফেব্রুয়ারির জন্য এটি 14৷ আমরা যখন জানুয়ারী বা ফেব্রুয়ারি বিবেচনা করি, তখন প্রদত্ত বছরটি 1 দ্বারা হ্রাস পাবে৷

y − বছরের শেষ দুটি সংখ্যা

c − বছরের প্রথম দুটি সংখ্যা

w - সপ্তাহের দিন। যখন এটি 0 হয়, এটি শনিবার, যখন এটি 6 হয়, এর অর্থ শুক্রবার

ইনপুট এবং আউটপুট

Input:
The day, month and the year: 4, 1, 1997
Output:
It was: Saturday

অ্যালগরিদম

zellersAlgorithm(day, month, year)

ইনপুট: দিনের তারিখ।

আউটপুট: কোন দিন ছিল, (রবিবার থেকে শনিবার)।

Begin
   if month > 2, then
      mon := month
   else
      mon := 12 + month
      decrease year by 1
   y := last two digit of the year
   c := first two digit of the year
   w := day + floor((13*(mon+1))/5) + y + floor(y/4) + floor(c/4) + 5*c
   w := w mod 7
   return weekday[w] //weekday will hold days from Saturday to Friday
End

উদাহরণ

#include<iostream>
#include<cmath>
using namespace std;

string weekday[7] = {"Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday"};
                               
string zellersAlgorithm(int day, int month, int year) {
   int mon;
   if(month > 2)
      mon = month;    //for march to december month code is same as month
   else {
      mon = (12+month);    //for Jan and Feb, month code will be 13 and 14
      year--; //decrease year for month Jan and Feb
   }
         
   int y = year % 100;    //last two digit
   int c = year / 100;    //first two digit
   int w = (day + floor((13*(mon+1))/5) + y + floor(y/4) + floor(c/4) + (5*c));
   w = w % 7;
   return weekday[w];
}

int main() {
   int day, month, year;
   cout << "Enter Day: "; cin >>day;
   cout << "Enter Month: "; cin >>month;
   cout << "Enter Year: "; cin >>year;
   cout << "It was: " <<zellersAlgorithm(day, month, year);
}

আউটপুট

Enter Day: 04
Enter Month: 01
Enter Year: 1997
It was: Saturday

  1. বছরের API ক্লাস ব্যবহার করে অ্যান্ড্রয়েডে লিপ ইয়ার বা না কীভাবে খুঁজে পাবেন?

  2. সি গ্রাফিক্স ব্যবহার করে ফ্লাড ফিল অ্যালগরিদম

  3. পাইথনে Prim-এর অ্যালগরিদম ব্যবহার করে একটি MST খুঁজে বের করার প্রোগ্রাম

  4. পাইথন ব্যবহার করে প্রদত্ত বছরের প্রথম তারিখ কীভাবে খুঁজে পাবেন?