বিবাহিত নম্বরগুলি৷ দুইটি সংখ্যার জোড়া এমনভাবে যাতে যোগ করলে তাদের ভাজকের যোগফল অন্য একটি সংখ্যার সমান হয়।
যেমন s(a) =b + 1 এবং s(b) =a + 1 হলে (a, b) হল এক জোড়া বাহিত সংখ্যা, যেখানে s(b) হল b-এর অ্যালিকোট যোগফল:একটি সমতুল্য শর্ত হল σ (a) =σ(b) =a + b + 1, যেখানে σ যোগফল-ভাজক ফাংশন নির্দেশ করে।
বিবাহিত সংখ্যার প্রথম কয়েকটি জোড়া হল:(48, 75), (140, 195), (1050, 1925), (1575, 1648), (2024, 2295), (5775, 6128)।
বিবাহিত সংখ্যার সমস্ত পরিচিত জোড়ার বিপরীত সমতা রয়েছে। একই প্যারিটির যেকোনো জোড়া অবশ্যই 1010 অতিক্রম করতে হবে।
অ্যালগরিদম
<পূর্ব>ধাপ 1:উভয় সংখ্যার জন্য সমস্ত ভাজকের যোগফল খুঁজুন। ধাপ 2:পরিশেষে পরীক্ষা করুন যে একটি দ্বারা যোগ করা সংখ্যার ভাজকের যোগফল অন্য সংখ্যার সমান কিনা। ধাপ 3:যদি হ্যাঁ, এটি একটি বিবাহিত নম্বর এবং অন্যথায় নয়।
ইনপুট:a =48 b =75Output:48 এবং 75 হল বেট্রোথেড সংখ্যা
ব্যাখ্যা
48 এর ভাজক :1, 2, 3, 4, 6, 8, 12, 16, 24। তাদের যোগফল হল 76।
75 এর ভাজক :1, 3, 5, 15, 25। তাদের যোগফল 49।
লুপের জন্য ব্যবহার করুন এবং 1 থেকে শুরু করে a-1 পর্যন্ত প্রতিটি সংখ্যা পরীক্ষা করুন।
লুপের প্রতিটি সংখ্যার জন্য চেক করুন যদি এটি সংখ্যাটিকে a বা না ভাগ করতে পারে। যদি হ্যাঁ, এই নম্বরটি aDivisorSum-এ যোগ করুন। লুপ সম্পূর্ণ হওয়ার পরে, aDivisorSum-এ a-এর সমস্ত ভাজকের যোগফল থাকে।
একইভাবে, দ্বিতীয় সংখ্যার জন্য সমস্ত ভাজকের যোগফল খুঁজুন এবং এটি bDivisorSum-এ সংরক্ষণ করুন।
এখন একটি সংখ্যার ভাজকের যোগফল অন্য সংখ্যার সমান কিনা তা একটি যোগ করে পরীক্ষা করুন। যদি হ্যাঁ, প্রিন্ট করুন যে দুটিই বিবাহিত সংখ্যা। অন্যথায় তারা নয়।
উদাহরণ
#includeint main() { int i; int a,b; int aDivisorSum =0; int bDivisorSum =0; a=48; b=75; (i =1; i আউটপুট
48 এবং 75 বিবাহিত সংখ্যা নয়