দুটি ধনাত্মক পূর্ণসংখ্যা n এবং k দেওয়া আছে, এবং আমাদের nতম সংখ্যাটি খুঁজে বের করতে হবে যেখানে k সংখ্যাটি রয়েছে বা k দ্বারা বিভাজ্য। k রেঞ্জ হবে [2 থেকে 9]। সুতরাং n এবং k যথাক্রমে 15 এবং 3 হলে, আউটপুট 33। সংখ্যা হিসাবে [3, 6, 9, 12, 13, 15, 18, 21, 23, 24, 27, 30, 31, 33] এইগুলি হল সেই সংখ্যাগুলি যেখানে প্রতিটি উপাদানে k =3 বা k দ্বারা বিভাজ্যতা রয়েছে এবং এই nম সংখ্যাটি 33। সুতরাং আউটপুট হল 33।
প্রতিটি সংখ্যা পরীক্ষা করুন যাতে k এবং k এর একাধিক রয়েছে এবং আমরা nম উপাদান না পাওয়া পর্যন্ত গণনা করুন।
উদাহরণ
#include<iostream> using namespace std; bool hasDigit(int n, int k) { while (n > 0) { int rem = n % 10; if (rem == k) return true; n = n / 10; } return false; } int countNumbers(int n, int k) { for (int i = k + 1, count = 1; count < n; i++) { if (hasDigit(i, k) || (i % k == 0)) count++; if (count == n) return i; } return -1; } int main() { int n = 10, k = 2; cout << "Last number is " << countNumbers(n, k) << " before that the number contains " << k << " and multiple of " << k; }এর একাধিক রয়েছে
আউটপুট
Last number is 20 before that the number contains 2 and multiple of 2