এই সমস্যায়, আমাদেরকে একটি অ্যারের যোগফল [] দেওয়া হয়েছে যা (n-1)ভেরিয়েবলের সমষ্টি নিয়ে গঠিত,
Sum[1] = x2 + x3 + x4 + … xn Sum[2] = x1 + x3 + x4 + … xn . . Sum[i] = x2 + x3 + x4 + … x(i-1) + x(i+1) + … + xn . . Sum[n] = x1 + x2 + x3 + … x(n-1) Our task is to find the value of x1, x2,... xn.
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট
sum[] = {6, 6, 6, 6, 6, 6, 6}
আউটপুট
x1 = 1, x2 = 1, x3 = 1, x4 = 1, x5 = 1, x6 = 1, x7 = 1
ব্যাখ্যা
arr[1] = 1 + 1 + 1 + 1 + 1 + 1 = 6
সমাধান পদ্ধতি
সকল ভেরিয়েবলের যোগফল sumX হোক,
sumX =x1 + x2 + x3 + … + xn
সুতরাং, সমষ্টি বিন্যাসের মান হল −
sum[1] = x2 + x3 + x4 + … xn = -x1 + x1 + x2 + x3 + x4 + … xn = sumX - x1
একইভাবে,
sum[2] = sumX - x2 sum[3] = sumX - x3 . sum[i] = sumX - xi . sum[n] = sumX - xn
Sum[1] + sum[2] + … sum[n] = sumX - x1 + sumX - x2 + … + sumX - xn arrSum = n*sumX - (x1 + x2 + x3 … xn) arrSum = n*SumX - (x1 + x2 + x3 … xn) arrSum = sumX*(n-1) sumX = arrSum/ (n-1)
sumX-এর এই মান ব্যবহার করে, আমরা x1, x2…
-এর মান খুঁজে পেতে পারিতাই,
x1 = sumX - sum[1] x2 = sumX - sum[2] .. xi = sumX - sum[i] .. xn = sumX - sum[n]
আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,
উদাহরণ
#include <iostream> using namespace std; void calcSumVariables(int sum[], int n) { float SUMX = 0; for (int i = 0; i < n; i++) { SUMX += sum[i]; } SUMX /= (n - 1); for (int i = 0; i < n; i++) cout<<"\nx"<<(i + 1)<<" = "<<(SUMX - sum[i]); } int main(){ int sum[] = {3, 8, 6, 7, 4, 5, 9 }; int N = sizeof(sum) / sizeof(sum[0]); cout<<"The value of variables that form the sum are "; calcSumVariables(sum, N); return 0; }
আউটপুট
যোগফল গঠন করে এমন চলকের মান হল
x1 = 4 x2 = -1 x3 = 1 x4 = 0 x5 = 3 x6 = 2 x7 = -2