কম্পিউটার টিউটোরিয়াল

বৃত্তে 'k' সমদূরবর্তী বিন্দুর মধ্যে ২টি বিন্দু দিয়ে……、 কোণের গণনা (C++ প্রোগ্রাম)

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

বৃত্তে  k  সমদূরবর্তী বিন্দুর মধ্যে ২টি বিন্দু দিয়ে……、 কোণের গণনা (C++ প্রোগ্রাম)

এখানে 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 ফেরত দিন।
C++ প্রোগ্রাম উদাহরণ
#include 
using 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
  1. মোট n বিন্দু এবং m সংরেখ বিন্দু দিয়ে ত্রিভুজের গণনা (C++ প্রোগ্রাম)

  2. C++-এ একটি বৃত্তের দুটি অংশের কোণের ন্যূনতম পার্থক্য বের করার প্রোগ্রাম

  3. প্রোডাক্ট এবং সমের পার্থক্য D হওয়া Nটি পূর্ণসংখ্যা বের করা (C++)

  4. দেওয়া কোঅর্ডিনেট সেট থেকে ন্যূনতম আয়তক্ষেত্রের ক্ষেত্রফল বের করা C++-তে