START, END রেঞ্জ দেওয়া আছে। লক্ষ্য হল [START, END] রেঞ্জে যেসব সংখ্যা নিজের শূন্য-নয় সব অঙ্ক দ্বারা বিভাজ্য, তাদের সংখ্যা বের করা।
রেঞ্জে লুপে প্রতিটি সংখ্যায় while দিয়ে অঙ্ক বের করা হয়। শূন্য-নয় অঙ্ক দ্বারা বিভাজ্য না হলে ফ্ল্যাগ ০ করা হয়। সব অঙ্ক দ্বারা বিভাজ্য হলে কাউন্ট বাড়ানো হয়।
ইনপুট: START=10, END=20
আউটপুট: শর্ত পূরণকারী সংখ্যা: ১৪
ব্যাখ্যা: ১০, ১১, ১২, ১৫, ২০ — নিজের অঙ্কগুলা দিয়ে বিভাজ্য।
- START, END নেওয়া হয়।
divisiblebyDigits(int start, int end)ফাংশন কাউন্ট রিটার্ন করে।- রেঞ্জে লুপে while দিয়ে অঙ্ক চেক, শূন্য-নয় অঙ্ক দ্বারা বিভাজ্য কিনা দেখা হয়।
#includeusing namespace std; int divisiblebyDigits(int start, int end){ int count = 0; for (int i = start; i <= end; i++){ int num = i, flag = 1; while(num > 0){ int digit = num % 10; if(digit > 0){ if(i % digit == 0) flag = 1; else { flag = 0; break; } } num /= 10; } if(flag == 1) count++; } return count; } int main(){ int START = 10, END = 50; cout << "নিজের শূন্য-নয় অঙ্ক দ্বারা বিভাজ্য সংখ্যা: " << divisiblebyDigits(START, END); return 0; }
উপরোক্ত কোড রান করলে আউটপুট:
নিজের শূন্য-নয় অঙ্ক দ্বারা বিভাজ্য সংখ্যা: ১৪