ধরুন আমাদের একটি দীর্ঘ পূর্ণসংখ্যা আছে। আমাদের খুঁজে বের করতে হবে বিজোড় অবস্থানের অঙ্কের যোগফল এবং জোড় অবস্থানের অঙ্কের যোগফল 0 বা না। অবস্থানগুলি 0 থেকে শুরু হয় (সবচেয়ে বেশি বাম)।
উদাহরণস্বরূপ, ধরুন একটি সংখ্যা হল 156486। বিজোড় অবস্থানের যোগফল হল (5 + 4 + 6) =15, এবং জোড় অবস্থানের যোগফল হল (1 + 6 + 8) =15, তাই তারা একই।
এই সমস্যাটি সমাধান করতে, আমরা দুটি ভিন্ন উপায় ব্যবহার করতে পারি। প্রথম উপায় হল ফর্ম শুরু থেকে শেষ পর্যন্ত ট্রাভার্সিং এবং পজিশন পরিবর্তন করে যোগফল পান, তারপর পার্থক্য পান। পরবর্তী পদ্ধতিটি সহজ এবং কার্যকর। যদি সংখ্যাটি 11 দ্বারা বিভাজ্য হয়, তবে পার্থক্যটি অবশ্যই 0 হতে হবে। তাই অন্য কথায় আমরা বলতে পারি যে যদি বিজোড় অবস্থান সংখ্যার যোগফল এবং জোড় অবস্থান সংখ্যার যোগফল একই হয়, তাহলে সংখ্যাটি 11 দ্বারা বিভাজ্য।
অ্যালগরিদম
isDiffZero(n)
begin if n is divisible by 11, then return 1 else return 0 end if end
উদাহরণ
#include<stdio.h> long 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