জেলারের অ্যালগরিদম ব্যবহার করে একটি প্রদত্ত তারিখ থেকে সপ্তাহের দিন বের করা যায়। জেলারের অ্যালগরিদম ব্যবহার করে সপ্তাহের দিন বের করার সূত্র এখানে:

সূত্রটিতে কিছু ভেরিয়েবল আছে; সেগুলো হলো:
d − তারিখের দিন।
m: এটি মাস কোড। মার্চ থেকে ডিসেম্বর পর্যন্ত এটি ৩ থেকে ১২, জানুয়ারি জন্য এটি ১৩, এবং ফেব্রুয়ারি জন্য এটি ১৪। যখন জানুয়ারি বা ফেব্রুয়ারি বিবেচনা করব, তখন দেওয়া বছরের ১ কমাতে হবে।
y − বছরের শেষ দুটি অঙ্ক
c − বছরের প্রথম দুটি অঙ্ক
w − সপ্তাহের দিন। যখন এটি ০, তবে সেটি শনিবার, যখন ৬, তবে শুক্রবার
ইনপুট এবং আউটপুট
ইনপুট: দিন, মাস এবং বছর: ৪, ১, ১৯৯৭ আউটপুট: সেটি ছিল: শনিবার
অ্যালগরিদম
zellersAlgorithm(day, month, year)
ইনপুট: দিনের তারিখ।
আউটপুট: কোন দিন ছিল, (রবিবার থেকে শনিবার)।
শুরু
যদি month > 2, তবে
mon := month
অন্যথায়
mon := 12 + month
বছর ১ কমানো
y := বছরের শেষ দুটি অঙ্ক
c := বছরের প্রথম দুটি অঙ্ক
w := day + floor((13*(mon+1))/5) + y + floor(y/4) + floor(c/4) + 5*c
w := w mod 7
weekday[w] ফেরত দিন //weekday শনিবার থেকে শুক্রবার পর্যন্ত দিন ধারণ করবে
শেষউদাহরণ
#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; //মার্চ থেকে ডিসেম্বর মাস কোড মাসের মতো else { mon = (12+month); //জান এবং ফেবের জন্য মাস কোড হবে ১৩ এবং ১৪ year--; //জান এবং ফেবের জন্য বছর কমান } int y = year % 100; //শেষ দুটি অঙ্ক int c = year / 100; //প্রথম দুটি অঙ্ক 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