ধরা যাক একটি লং ইন্টিজার আছে। আমাদের বের করতে হবে বিজোড় পজিশনের ডিজিটগুলোর যোগফল এবং জোড় পজিশনের ডিজিটগুলোর যোগফলের পার্থক্য ০ কিনা। পজিশনগুলো ০ থেকে শুরু হয় (সবচেয়ে বাম পজিশন)।
উদাহরণস্বরূপ, ধরা যাক একটি সংখ্যা ১৫৬৪৮৬। বিজোড় পজিশনের যোগফল = (৫ + ৪ + ৬) = ১৫, এবং জোড় পজিশনের যোগফল = (১ + ৬ + ৮) = ১৫। সুতরাং তারা সমান।
এই সমস্যাটি সমাধানের জন্য দুটি ভিন্ন পদ্ধতি ব্যবহার করা যায়। প্রথম পদ্ধতিতে শুরু থেকে শেষ পর্যন্ত ট্রাভার্স করে পজিশন বদলে যোগফল বের করে পার্থক্য নেওয়া হয়। দ্বিতীয় পদ্ধতি সহজ এবং দক্ষ। যদি সংখ্যাটি ১১ দ্বারা বিভাজ্য হয়, তবে পার্থক্য অবশ্যই ০ হবে। অন্য কথায়, যদি বিজোড় ও জোড় পজিশনের ডিজিটগুলোর যোগফল সমান হয়, তবে সংখ্যাটি ১১ দ্বারা বিভাজ্য।
অ্যালগরিদম
isDiffZero(n)
begin if n is divisible by 11, then return 1 else return 0 end if end
উদাহরণ
#includelong isDiffZero(int n) { if(n % 11 == 0){ return 1; } else { return 0; } } main() { int n; printf("Enter a number: "); scanf("%d", &n); if(isDiffZero(n)) { printf("Difference is zero"); } else { printf("Difference is non zero"); } }
আউটপুট
Enter a number: 156486 Difference is zero