আমাদের একটি বৃত্ত দেওয়া আছে যার পরিধিতে K সংখ্যক সমদূরবর্তী বিন্দু রয়েছে। এছাড়া দুটি বিন্দু A এবং B দেওয়া আছে। লক্ষ্য হল এই বিন্দুগুলো ব্যবহার করে কতগুলো ত্রিভুজ তৈরি করা যায় যাতে তাদের ভেতরে 둔 Курফার্ম কোণ ACB (৯০ ডিগ্রির চেয়ে বড় কোণ) থাকে। বিন্দু A এবং B এমন যে A < B।

এখানে K=8, A=2, B=5, বিন্দুর সংখ্যা=2 (C,C') যাতে কোণ ∠ACB, ∠AC'B 둔ফার্ম হয়।
ইনপুট: k=10, A=2, B=4
আউটপুট: বৃত্তে 'k' সমদূরবর্তী বিন্দুর মধ্যে ২টি বিন্দু দিয়ে 둔ফার্ম কোণের গণনা: 1
ব্যাখ্যা: বিন্দুটি হবে C=3
ইনপুট: k=12, A=2, B=10
আউটপুট: বৃত্তে 'k' সমদূরবর্তী বিন্দুর মধ্যে ২টি বিন্দু দিয়ে 둔ফার্ম কোণের গণনা: 3
দেখা যায় A এবং B-এর মধ্যে যত ছোট আর্ক (arc) হবে বিন্দুগুলো সেটি আর্কেই থাকবে।
দুটি আর্ক হিসাব করুন এবং যদি সেগুলো সমান দৈর্ঘ্যের হয় তবে এমন ত্রিভুজ সম্ভব নয়, ০ ফেরত দিন। অন্যথায় count কে ছোট আর্ক হিসেবে সেট করুন যা বিন্দু দূরত্বের পরিমাপ।
- ইনপুট নিন পূর্ণসংখ্যা k, point_a এবং point_b হিসেবে।
- Obtuse_angle_circle(int point_a, int point_b, int k) ফাংশন সকল ভেরিয়েবল নেয় এবং বৃত্তে 'k' সমদূরবর্তী বিন্দুর মধ্যে ২টি বিন্দু দিয়ে둔ফার্ম কোণের গণনা ফেরত দেয়।
- আরম্ভিক গণনা ০ নিন।
- প্রথম আর্ক হিসাব করুন arc_1 = (point_b - point_a) - 1। (b>a)
- দ্বিতীয় আর্ক হিসাব করুন arc_2 = (k - point_b) + (point_a - 1)।
- যদি দুটি আর্ক সমান হয় তবে ০ ফেরত দিন কারণ এমন বিন্দু সম্ভব নয়।
- যদি সমান না হয় তবে count কে দুটির ন্যূনতম হিসেবে আপডেট করুন কারণ সকল বিন্দু সেটি আর্কে থাকে।
- ফলাফল হিসেবে count ফেরত দিন।
#includeusing namespace std; int Obtuse_angle_circle(int point_a, int point_b, int k) { int count = 0; int arc_1 = (point_b - point_a) - 1; int arc_2 = (k - point_b) + (point_a - 1); if (arc_1 == arc_2) { return 0; } count = min(arc_1, arc_2); return count; } int main() { int k = 10; int point_a = 1; int point_b = 4; cout << "Count of obtuse angles in a circle with 'k' equidistant points between 2 given points are: " << Obtuse_angle_circle(point_a, point_b, k); return 0; }
Count of obtuse angles in a circle with 'k' equidistant points between 2 given points are: 2