এই প্রবন্ধে, আমরা প্রদত্ত সমস্যার বিবৃতিটি সমাধান করার জন্য সমাধান এবং পদ্ধতি সম্পর্কে শিখব।
সমস্যা বিবৃতি −একটি পূর্ণসংখ্যা দেওয়া হলে, বিজোড় অঙ্কের যোগফল এবং জোড় অঙ্কের যোগফলের মধ্যে পার্থক্য 0 বা না হলে আমাদের গণনা করতে হবে।
ব্রুট-ফোর্স পদ্ধতিটি সংখ্যার সমস্ত জোড় এবং বিজোড় সংখ্যার যোগফল গণনা করবে এবং উত্তর গণনা করতে তাদের বিয়োগ করবে।
গণনামূলক সময় কমাতে আমরা মানসিক গণিতের ধারণা ব্যবহার করি।
উপরের সীমাবদ্ধতাগুলি তখনই সত্য হয় যখন সংখ্যাগুলি 11 দ্বারা বিভাজ্য হয়৷ তাই এখানে নীচের প্রয়োগে আমরা 11 দ্বারা সংখ্যাটির বিভাজ্যতা পরীক্ষা করি৷
এখানে জটিলতা O(n) থেকে বিভাজ্যতা এবং তুলনার সাথে জড়িত কিছু স্থির সময় পর্যন্ত হ্রাস পায়..
এখন এর বাস্তবায়ন দেখি -
উদাহরণ
def isDiff(n): return (n % 11 == 0) # main n = 785643 if (isDiff(n)): print("Yes") else: print("No")
আউটপুট
No
সমস্ত ভেরিয়েবল এবং ফাংশন নীচের চিত্রে দেখানো হিসাবে গ্লোবাল স্কোপে ঘোষণা করা হয়েছে।
উপসংহার
এই নিবন্ধে, আমরা বিজোড় এবং জোড় অঙ্কের যোগফলের মধ্যে পার্থক্য গণনা করার পদ্ধতি সম্পর্কে শিখেছি