আমরা পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়. লক্ষ্য হল সংখ্যা গণনা করা যাতে সমস্ত উপাদানের যোগফল এবং সেই উপাদানটির মধ্যে পরম পার্থক্য পরিবর্তনশীল k-এর থেকে বেশি হয়।
আমরা অ্যারের উপাদানগুলির যোগফল পেয়ে এটি করব। এখন প্রতিটি উপাদানের জন্য arr[i], checkif -
যোগফল-2(arr[i])>k, যেহেতু যোগফল ইতিমধ্যেই arr[i] অন্তর্ভুক্ত করে তাই এটিকে দুবার বিয়োগ করুন। যদি সত্য বৃদ্ধির সংখ্যা।
উদাহরণ দিয়ে বোঝা যাক।
ইনপুট − arr[]={ 1,2,3,0,3,2,0,1 }, k=10
আউটপুট − উপাদানের সংখ্যা:2
ব্যাখ্যা − উপাদানের যোগফল হল 12
12-1-1=10, 12-2-2=8, 12-3-3=6, 12-0-0=12।
শুধুমাত্র 12> 10, তাই 2টি উপাদানের (0s) শর্তটি সত্য।
ইনপুট − arr[]={ 1,1,1,1,1 } k=10
আউটপুট − উপাদানের সংখ্যা:0
ব্যাখ্যা − উপাদানের যোগফল হল 5
প্রতিটি 1 5-1-1=3 <10 .
এর জন্যনিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
আমরা একটি পূর্ণসংখ্যা অ্যারে অ্যারে নিই [] এলোমেলো সংখ্যার সাথে শুরু।
-
ফাংশন numberCount(int arr[], int n, int k) অ্যারে এবং এর দৈর্ঘ্যকে ইনপুট হিসাবে নেয় এবং উপাদানগুলির গণনা প্রদান করে যার অন্যান্য সমস্ত উপাদানের যোগফলের সাথে পরম পার্থক্য k
-
0 হিসাবে প্রাথমিক গণনা নিন।
-
অ্যারের সমস্ত উপাদানের যোগফলকে যোগফল হিসাবে গণনা করুন।
-
এখন ট্রাভাসার পুরো অ্যারে i=0 থেকে i
পর্যন্ত -
প্রতিটি উপাদানের জন্য arr[i], sum-arr[i]-arr[i]>k হলে, বৃদ্ধির সংখ্যা।
-
চূড়ান্ত ফলাফল হিসাবে লুপের শেষে গণনা করুন।
উদাহরণ
#include <bits/stdc++.h> #include <math.h> using namespace std; int numberCount(int arr[],int n, int k){ int count=0; int sum=0; int i; for(i=0;i<n;i++) { sum+=arr[i]; } for(int i=0;i<n;i++){ if( abs(sum-arr[i]-arr[i]) > k ){ count++; } } return count; } int main(){ int Arr[]={ 1,2,3,4 }; int len=sizeof(Arr)/sizeof(Arr[0]); int K=5; cout<<endl<<"Count of elements: "<<numberCount(Arr,len,K); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of elements: 2