আমাদের একটি সংখ্যা দেওয়া হয়েছে ধরা যাক, সংখ্যা এবং কাজটি হল 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