একটি ছড়ি দেওয়া আছে যেটি র্যান্ডমলি n টুকরোতে ভাঙা হয় (ইন্টিজার বা ফ্লোটিং পয়েন্ট)। টাস্ক হলো এই টুকরোগুলো দিয়ে n-ভুজবদ্ধ বহুভুজ (polygon) বানানো সম্ভব কিনা তার প্রোবাবিলিটি বের করা।
প্রোবাবিলিটি ফর্মুলা:
P(E') = 1 - P(E) = 1 - n / 2^(n-1)
যেখানে n = টুকরোর সংখ্যা।
ইনপুট − length=10, pieces=4
আউটপুট − probability is: 0.5
ইনপুট − length=5, pieces=3
আউটপুট − probability is: 0.25
প্রোগ্রামে ব্যবহৃত পদ্ধতি
- ছড়ির দৈর্ঘ্য এবং টুকরোর সংখ্যা ইনপুট নিন।
- ফর্মুলা অ্যাপ্লাই করুন।
- ফলাফল প্রিন্ট করুন।
অ্যালগরিদম
Start function probab(len, pieces) a = 1 << (pieces-1) // 2^(pieces-1) return 1.0 - (double)pieces / (double)a Stop
উদাহরণ
#include <iostream>
using namespace std;
double probab(unsigned len, unsigned pieces) {
unsigned a = (1 << (pieces - 1)); // 2^(pieces-1)
return 1.0 - ((double)pieces) / ((double)a);
}
int main() {
unsigned pieces = 4, len = 10;
cout << "probability is: " << probab(len, pieces);
return 0;
}
আউটপুট
probability is: 0.5