इस समस्या में, हमें दो सरणी दी गई हैं जिनमें से प्रत्येक एक निवेश योजना को दर्शाती है। हमारा कार्य निवेश में जोखिम का मूल्यांकन करना और यह ढूंढना है कि दोनों में से कौन सा निवेश अधिक आशाजनक है।
दोनों निवेश I1[][] और I2[][] में परिणामों का एक सेट और उस निवेश परिणाम की संभावना होती है।
इन मानों का उपयोग करके, हमें प्रत्येक निवेश में जोखिम ढूंढना होगा और फिर दोनों निवेशों में से बेहतर निवेश प्रिंट करना होगा।
इसके लिए, हम सांख्यिकीय गणित का उपयोग करेंगे और कुछ मान ढूंढेंगे जो हमें बेहतर निवेश का निष्कर्ष निकालने में मदद करेंगे।
हम ये मान ढूंढेंगे,
- निवेश से औसत या माध्य राशि, निवेश परिणाम और संभावना के गुणनफल का योग।
- अर्जित राशि पर विचलन
हम इसका मान ढूंढेंगे,
मानक विचलन / निवेश का माध्य
कम S.D. / माध्य मान वाला निवेश परिणाम है।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला प्रोग्राम,
उदाहरण
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
typedef pair<float,float> Data;
typedef vector Vector;
float totalProdProbOutcome(const Vector & v) {
float sum = 0;
for ( auto i : v) {
sum += i.first * i.second;
}
return sum;
}
float totalProb(const Vector & v) {
float sum = 0.0;
for ( auto i : v) {
sum += i.second;
}
return sum;
}
float CalcMeanVal(const Vector & v) {
return totalProdProbOutcome(v) / totalProb(v);
}
float calcStdDevi(const Vector & v) {
float mean = CalcMeanVal(v);
float sum = 0;
for (auto i: v)
sum += (i.first-mean)* (i.first-mean)*i.second;
return sqrt(sum/totalProb(v));
}
int main() {
Vector A = { {450,0.3}, {250,0.4}, {100,0.2}, {300,0.1}};
Vector B = { {300,0.2}, {150,0.5}, {500,0.3}};
float meanA = CalcMeanVal(A);
float meanB = CalcMeanVal(B);
float SdA = calcStdDevi(A);
float SdB = calcStdDevi(B);
if( (SdA / meanA) > (SdB / meanB))
cout<<"Investment A is Better investment.\n";
else
cout<<"Investment B is better investment.\n";
return 0;
}
आउटपुट
Investment B is better investment.