কম্পিউটার

C++ এ 2 থেকে 10 পর্যন্ত সমস্ত সংখ্যা দ্বারা বিভাজ্য সংখ্যা গণনা করুন


আমাদের একটি সংখ্যা দেওয়া হয়েছে ধরা যাক, সংখ্যা এবং কাজটি হল 1 থেকে সংখ্যার পরিসরের সংখ্যা গণনা করা যা 2, 3, 4, 5, 6, 7, 8, 9 এবং 10 দ্বারা বিভাজ্য।

ইনপুট − int num =10000

আউটপুট − 2 থেকে 10 পর্যন্ত সমস্ত সংখ্যা দ্বারা বিভাজ্য সংখ্যাগুলি গণনা করুন:3

ব্যাখ্যা − 1 থেকে 10000 পর্যন্ত 3টি সংখ্যা রয়েছে যেগুলি 2 থেকে শুরু করে 10 পর্যন্ত সমস্ত সংখ্যা দ্বারা বিভাজ্য এবং সেগুলি হল −

2520-: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 18, 20, 21, 24, 28, 30, 35, 36, 40, 42, 45, 56, 60, 63, 70, 72, 84, 90, 105, 120, 126, 140, 168, 180, 210, 252, 280, 315, 360, 420, 504, 630, 840, 1260, 2520.
5040-: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 28, 30, 35, 36, 40, 42, 45, 48, 56, 60, 63, 70, 72, 80, 84, 90, 105, 112, 120, 126, 140, 144, 168, 180, 210, 240, 252, 280, 315, 336, 360, 420, 504, 560, 630, 720, 840, 1008, 1260, 1680, 2520, 5040
7560-: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 18, 20, 21, 24, 27, 28, 30, 35, 36, 40, 42, 45, 54, 56, 60, 63, 70, 72, 84, 90, 105, 108, 120, 126, 135, 140, 168, 180, 189, 210, 216, 252, 270, 280, 315, 360, 378, 420, 504, 540, 630, 756, 840, 945, 1080, 1260, 1512, 1890, 2520, 3780.

ইনপুট − int num =20000

আউটপুট − 2 থেকে 10 পর্যন্ত সমস্ত সংখ্যা দ্বারা বিভাজ্য সংখ্যা গণনা হল − 3

ব্যাখ্যা − 1 থেকে 10000 পর্যন্ত 7টি সংখ্যা রয়েছে যেগুলি 2 থেকে শুরু করে 10 পর্যন্ত সমস্ত সংখ্যা দ্বারা বিভাজ্য এবং সেগুলি হল − 2520, 5040, 7560, 10080, 12600, 15120 এবং 17640,

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

প্রদত্ত সমস্যা সমাধানের জন্য একাধিক পন্থা হতে পারে যেমন নিষ্পাপ দৃষ্টিভঙ্গি এবং দক্ষ পদ্ধতি। তাই আসুন প্রথমে নিষ্পাপ পদ্ধতির দিকে তাকাই .

  • সংখ্যাটি ইনপুট করুন আসুন সংখ্যা বলি

  • একটি অ্যারে নিন এবং নির্দিষ্ট দৈর্ঘ্যের একটি পূর্ণসংখ্যা অ্যারের মধ্যে 2 থেকে 10 পর্যন্ত সমস্ত সংখ্যা সংরক্ষণ করুন যা 9।

  • অস্থায়ী ভেরিয়েবলগুলি নিন প্রথমে মোট সংখ্যা সংরক্ষণের জন্য গণনা করা হয় এবং অন্যটি হল সংখ্যাটি বিভাজ্য কিনা তা পরীক্ষা করার জন্য পতাকা৷

  • i থেকে 1 নম্বর পর্যন্ত লুপ শুরু করুন

  • লুপের ভিতরে, num-এ i এবং সূচক 0

    সেট করুন
  • সূচী 9 এর কম না হওয়া পর্যন্ত শুরু করুন অর্থাৎ একটি অ্যারের আকার

  • IF num % arr[index++] ==0 চেক করুন তারপর পতাকা 1 হিসাবে সেট করুন অন্যথায় পতাকা 0 হিসাবে সেট করুন

  • চেক করুন IF পতাকা 1 তারপর গণনা 1 দ্বারা বৃদ্ধি করুন

  • রিটার্ন গণনা

  • ফলাফল প্রিন্ট করুন।

দক্ষ পদ্ধতি

আমরা দেখতে পাচ্ছি যে সংখ্যাগুলির মধ্যে একটি প্যাটার্ন রয়েছে যা 2 থেকে 10 পর্যন্ত সমস্ত সংখ্যা দ্বারা বিভাজ্য৷

2 থেকে 10 পর্যন্ত সমস্ত সংখ্যা দ্বারা বিভাজ্য ক্ষুদ্রতম সংখ্যা হল 2520

5 * 7 * 8 * 9 = 2520(n = 1)
5 * 7 * 8 * 9 * 2 = 5040(n = 2)
5 * 7 * 8 * 9 * 3 = 7560(n = 3)
.
.

আমরা দেখতে পাচ্ছি 2520 হল 2, 3, 4, 5, 6, 7, 8, 9, 10 দ্বারা বিভাজ্য সমস্ত সংখ্যার সাধারণ গুণনীয়ক৷ তাই, প্রদত্ত সংখ্যাটিকে 2520 দ্বারা ভাগ করলে আমরা আমাদের ফলাফল পাব৷

কোড-1(নিষ্পাপ পদ্ধতি)

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int count(int num){
   int count = 0;
   int flag=0;
   int index=0;
   int arr[9] = {2, 3, 4, 5, 6, 7, 8, 9, 10 };
   for (int i = 1; i <= num; i++){
      int num = i;
      index=0;
      while(index<9){
         if(num % arr[index++] == 0){
            flag=1;
         }
         else{
            flag=0;
            break;
         }
      }
      if (flag == 1){
         count++;
      }
   }
   return count;
}
int main(){
   int num = 10000;
   cout<<"Count numbers which are divisible by all the numbers from 2 to 10 are: "<<count(num);
return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count numbers which are divisible by all the numbers from 2 to 10 are: 3

কোড-২(দক্ষ পদ্ধতি)

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int main(){
   int num = 10000;
   int count = num / 2520;
   cout<<"Count numbers which are divisible by all the numbers from 2 to 10 are: "<<count;
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count numbers which are divisible by all the numbers from 2 to 10 are: 3

  1. C++ এ বাইনারি ম্যাট্রিক্সে 1s দ্বারা ব্লক করা সমস্ত 0s গণনা করুন

  2. অ্যারের সমস্ত উপাদানকে C++ এ 4 দ্বারা বিভাজ্য করার ন্যূনতম পদক্ষেপ

  3. C++ এ 3 এবং 5 দ্বারা বিভাজ্য সমস্ত সংখ্যা প্রিন্ট করার প্রোগ্রাম

  4. C++ ব্যবহার করে মৌলিক সংখ্যা খুঁজে পাওয়ার দ্রুততম অ্যালগরিদম কোনটি?