আমাদের একটি সংখ্যা দেওয়া হয়েছে, ধরা যাক, N এবং কাজটি হল সেই সংখ্যাগুলির সংখ্যা খুঁজে বের করা যেটি সংখ্যা N কে ভাগ করে।
পয়েন্টগুলো মনে রাখতে হবে
-
যদি অঙ্কটি 0 হয় তবে এটি উপেক্ষা করা উচিত যার অর্থ 0 এর জন্য গণনা বাড়ানো হবে না।
-
যদি একটি সংখ্যা দুইবার উপস্থিত হয় এবং এটি সংখ্যাটিকে ভাগ করে, তাহলে গণনাটি অঙ্কের ঘটনার উপর নির্ভর করবে। উদাহরণস্বরূপ, আমাদের একটি সংখ্যা দেওয়া হয়েছে 2240 এবং এই সংখ্যাটিতে 0 বাদে প্রতিটি অঙ্ক সংখ্যাটিকে ভাগ করবে এবং 2টি দ্বিগুণ হচ্ছে তাহলে সংখ্যা 2 এর জন্য গণনা হবে 2৷
ইনপুট − সংখ্যা =2240
আউটপুট − গণনা হল 3
ব্যাখ্যা − সংখ্যাটিকে সংখ্যায় ভাগ করুন এবং এটি 2, 2, 4, 0 হবে। এখন 2, 2240 কে ভাগ করে কিনা তা পরীক্ষা করে দেখুন যদি হ্যাঁ হয় তবে গণনা বাড়ান অন্য অঙ্কে যান, এই সংখ্যাটিতে 2, 2, 4 সংখ্যাটি 2240 কে ভাগ করে তাই গণনা করুন 3 হবে এবং প্রতিটি ক্ষেত্রে সংখ্যা 0 উপেক্ষা করবে।
ইনপুট − সংখ্যা =755
আউটপুট − গণনা হল 2
ব্যাখ্যা − সংখ্যাটিকে ডিজিটে ভাগ করুন এবং এটি 7, 5, 5 হবে। এখন পরীক্ষা করুন 755 কে 7 ভাগ করে যদি হ্যাঁ হয় তাহলে গণনা বাড়ান অন্য অঙ্কে যান, এই সংখ্যাটিতে 5, 5 সংখ্যাটি 755 কে ভাগ করে তাই গণনা হবে 2 এবং প্রতিটি ক্ষেত্রে সংখ্যা 0 উপেক্ষা করুন
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
একটি পূর্ণসংখ্যা ভেরিয়েবলের মধ্যে সংখ্যাটি ইনপুট করুন, আসুন আমরা সংখ্যা বলি
-
সংখ্যা 0
এর বেশি না হওয়া পর্যন্ত লুপটি শুরু করুন -
লুপের ভিতরে, সংখ্যাটিকে সংখ্যায় বিভক্ত করুন এবং ফলাফলগুলিকে একটি ভেরিয়েবলে সংরক্ষণ করতে থাকুন চলুন বলি রেম
-
রিম সংখ্যাটিকে ভাগ করে কিনা তা পরীক্ষা করে দেখুন যদি হ্যাঁ হয় তাহলে একটি কাউন্ট ভেরিয়েবলের মান 1 দ্বারা বাড়ান এবং যদি না হয় তাহলে কাউন্ট ভেরিয়েবলের মান বাড়াবেন না৷
-
এবং এই চেক স্টেটমেন্টটি প্রয়োগ করা হয় যখন rem 0 এর বেশি হয় কারণ আমাদের 0 উপেক্ষা করতে হবে।
উদাহরণ
#include <bits/stdc++.h> using namespace std; int count(int num){ int a=num; int count=0,rem; while(a>0){ rem=a%10; if(rem > 0){ if(num%rem==0){ count++; } } a=a/10; } return count; } int main(){ int num = 2240; cout<<"Count of digits in given number "<<num<<" which divide N are: "<<count(num); return 0; }
আউটপুট
আমরা যদি উপরের কোডটি চালাই, তাহলে আমরা নিম্নলিখিত আউটপুট পাব −
Count of digits in given number 2240 which divide N are: 3