ইনপুট হিসাবে আমাদের একটি সংখ্যা দেওয়া হয়। লক্ষ্য হল (i,j) ফর্মের জোড়ার সংখ্যা খুঁজে বের করা যাতে ((num%i)%j)%num সর্বাধিক করা হয় এবং i এবং j উভয়ই [1,num] এর মধ্যে থাকে।
আসুন উদাহরণ দিয়ে বুঝতে পারি
ইনপুট − সংখ্যা=4
আউটপুট − (i, j) জোড়ার সংখ্যা যেমন ((n % i) % j) % n সর্বাধিক করা হয় −3
ব্যাখ্যা − জোড়া হবে:(3,2), (3,3), (3,4)
ইনপুট − সংখ্যা=6
আউটপুট − (i, j) জোড়ার সংখ্যা যেমন (n % i) % j) % n সর্বাধিক করা হয় − 4
ব্যাখ্যা − জোড়া হবে:(4,3, (4,4), (4,5), (4,6)
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
আমরা দুটি পদ্ধতি ব্যবহার করে এই সমস্যার সমাধান করব। নির্বোধ পদ্ধতিতে, সর্বাধিক অবশিষ্ট মান পাওয়া যেতে পারে যদি আমাদের সংখ্যাটি অর্ধেক থাকে। temp=num/2 +1 সেট করুন। সর্বাধিক অবশিষ্টাংশ মোট=num%temp হিসাবে সেট করুন। i,j এর জন্য 0 থেকে num পর্যন্ত যান এবং i,j খুঁজুন যেমন ((num % i) % j) % num ==মোট।
-
পূর্ণসংখ্যা হিসাবে ইনপুট সংখ্যা নিন।
-
ফাংশন maximized_pair(int num) num নেয় এবং (i, j) জোড়ার সংখ্যা প্রদান করে যেমন ((n % i) % j) % n সর্বাধিক করা হয়৷
-
0 হিসাবে প্রাথমিক গণনা নিন।
-
সর্বাধিক অবশিষ্টের জন্য সংখ্যা অর্ধেক কমিয়ে দিন। তাপমাত্রা সেট করুন =((সংখ্যা / 2) + 1)।
-
মোট =num % temp;
হিসাবে সর্বাধিক অবশিষ্টাংশ গণনা করুন -
জোড়ার জন্য (i,j)। [1,num] পরিসরে i এবং j এর জন্য দুটি লুপ ব্যবহার করে ট্রাভার্স করুন।
-
মান (num % i) % j) % num মোটের সমান হলে, বৃদ্ধির সংখ্যা।
-
উভয়ের শেষে লুপ ফেরত ফলাফল হিসাবে গণনা করে।
দক্ষ পদ্ধতি
সর্বাধিক অবশিষ্ট মোট =num % temp পান যেখানে তাপ সংখ্যা/2+1 . এখন জোড়ার জন্য (i,j) সর্বাধিক অবশিষ্টাংশ পেতে আমাদের সংখ্যা হিসাবে i বেছে নিতে হবে। মোটকে সর্বাধিক করার জন্য আমরা মোট রেঞ্জ থেকে j বেছে নিতে পারি। সুতরাং জোড়ার সংখ্যা হবে সংখ্যা-মোট .
ক্ষেত্রে সংখ্যা=2 , 4 ফেরত দিন যেহেতু জোড়া হবে (1,1), (1,2), (2,1), (2,2) এবং সংখ্যা-মোট ব্যবহার করে গণনা করা হবে না।
-
পূর্ণসংখ্যা হিসাবে ইনপুট সংখ্যা নিন।
-
ফাংশন maximized_pair(int num) num নেয় এবং (i, j) জোড়ার সংখ্যা প্রদান করে যেমন ((n % i) % j) % n সর্বাধিক করা হয়৷
-
0 হিসাবে প্রাথমিক গণনা নিন।
-
যদি num==2, রিটার্ন 4.
-
অন্যথায় সর্বাধিক অবশিষ্টের জন্য সংখ্যা অর্ধেক কমিয়ে দিন। তাপমাত্রা সেট করুন =((সংখ্যা / 2) + 1)।
-
মোট =num % temp;
হিসাবে সর্বাধিক অবশিষ্টাংশ গণনা করুন -
গণনা=সংখ্যা-মোট
সেট করুন -
শেষে ফলাফল হিসাবে গণনা ফেরত.
উদাহরণ (নিষ্পাপ পদ্ধতি)
#include<bits/stdc++.h> using namespace std; int maximized_pair(int num){ int count = 0; int temp = ((num / 2) + 1); int total = num % temp; for (int i = 1; i <= num; i++){ for (int j = 1; j <= num; j++){ int check = ((num % i) % j) % num; if (check == total){ count++; } } } return count; } int main(){ int num = 10; cout<<"Count of pairs of (i, j) such that ((n % i) % j) % n is maximized are: "<<maximized_pair(num); }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of pairs of (i, j) such that ((n % i) % j) % n is maximized are: 6
উদাহরণ (দক্ষ পদ্ধতি)
#include<bits/stdc++.h> using namespace std; int maximized_pair(int num){ int count = 0; if (num == 2){ return 4; } else{ int temp = ((num / 2) + 1); int total = num % temp; count = num - total; } return count; } int main(){ int num = 10; cout<<"Count of pairs of (i, j) such that ((n % i) % j) % n is maximized are: "<<maximized_pair(num); }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of pairs of (i, j) such that ((n % i) % j) % n is maximized are: 6