আমাদের পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়েছে। কাজটি হল মান এবং সূচকের যোগফলের সর্বোচ্চ পরম পার্থক্য গণনা করা। অর্থাৎ প্রতিটি জোড়া সূচকের জন্য (i,j) একটি অ্যারের মধ্যে, আমাদের গণনা করতে হবে | Arr[i] - A[j] | + |i-j| এবং যতটা সম্ভব সম্ভব তা খুঁজে বের করুন। এখানে | A| A এর পরম মান মানে। যদি অ্যারের 4টি উপাদান থাকে তাহলে সূচকগুলি 0,1,2,3 এবং অনন্য জোড়া হবে ( (0,0), (1,1), (2,2), (3,3) , (0,1), (0,2), (0,3), (1,2), (1,3), (2,3)।
ইনপুট − Arr[] ={ 1,2,4,5 }
আউটপুট − মান এবং সূচক যোগফলের সর্বোচ্চ পরম পার্থক্য − 7
ব্যাখ্যা − সূচক জোড়া এবং | A[i]-A[j] | + | i-j | নিম্নরূপ
<পূর্ব>1. (0,0), (1,1), (2,2), (3,3)--------- |i-j| প্রতিটির জন্য 0.2। (0,1)---------- |1-2| + |0-1|=1+1 =23. (0,2)---------- |1-4| + |0-2|=3+2 =54. (0,3)---------- |1-5| + |0-3|=4+3 =75. (1,2)---------- |2-4| + |1-2|=2+1 =36. (1,3)---------- |2-5| + |1-3|=3+2 =57. (2,3)---------- |4-5| + |2-3|=1+1 =2 এরকম একটি যোগফলের সর্বোচ্চ মান হল 7৷ইনপুট − Arr[] ={ 10,20,21 }
আউটপুট − মান এবং সূচক যোগফলের সর্বোচ্চ পরম পার্থক্য − 13
ব্যাখ্যা − সূচক জোড়া এবং | A[i]-A[j] | + | i-j | নিম্নরূপ
<পূর্ব>1. (0,0), (1,1), (2,2)--------- | i-j| প্রতিটির জন্য 0.2। (0,1)---------- |10-20| + |0-1|=10+1 =113। (0,2)---------- |10-21| + |0-2|=11+2 =134. (1,2)---------- |20-21| + |1-2|=1+1 =2 এরকম একটি যোগফলের সর্বোচ্চ মান হল 13৷নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
আমরা একটি পূর্ণসংখ্যার অ্যারে নিই যার সংখ্যা Arr[>
-
ফাংশন maxabsDiff( int arr[],int n) মান এবং সূচক যোগফলের সর্বোচ্চ পরম পার্থক্য গণনা করতে ব্যবহৃত হয়..
-
আমরা পরিবর্তনশীল ফলাফল -1 দিয়ে শুরু করি।
-
ফর লুপের ভিতরে শুরু থেকে পূর্ণসংখ্যার অ্যারে ট্র্যাভার্স করে।
-
লুপ ট্রাভার্সের জন্য নেস্টেড বাকি উপাদানগুলি এবং উপাদান মান এবং সূচীগুলির পরম যোগফল গণনা করুন i,j (abs(arr[i] - arr[j]) + abs(i - j)) এবং একটি ভেরিয়েবলে সংরক্ষণ করুন যা absDiff বলে।
-
যদি এই নতুন গণনা করা যোগফল আগেরটির থেকে বেশি হয় তবে এটি 'ফলাফল'-এ সংরক্ষণ করুন।
-
পুরো অ্যারে অতিক্রম করার পরে ফলাফল ফেরত দিন।
উদাহরণ
#include#include // সর্বাধিক পরম পার্থক্য প্রদানের ফাংশন maxabsDiff(int arr[], int n){ int ফলাফল =0; (int i =0; i ফলাফল) ফলাফল =absDiff; } } রিটার্ন ফলাফল;} int main(){ int Arr[] ={1,2,4,1,3,4,2,5,6,5}; printf("মান এবং সূচকের যোগফলের সর্বোচ্চ পরম পার্থক্য:%d", maxabsDiff(Arr,10)); রিটার্ন 0;
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেমান এবং সূচক যোগফলের সর্বোচ্চ পরম পার্থক্য:13