আমাদের ১, ২, ৩, ৪ এই চার অঙ্ক দিয়ে বने সিরিজের n-তম সংখ্যাতে কতটি অঙ্ক আছে তা বের করতে হবে।
সিরিজ: ১, ২, ৩, ৪, ১১, ১২, ১৩, ১৪, ২১, ২২, ২৩, ২৪, ...
প্যাট্রন:
- ১ অঙ্কের সংখ্যা: ৪টি (৪¹)
- ২ অঙ্কের সংখ্যা: ১৬টি (৪²)
- ৩ অঙ্কের সংখ্যা: ৬৪টি (৪³)
- এভাবে ৪-এর ঘাতের ক্রমে বাড়ে।
উদাহরণ
ইনপুট: 7 → আউটপুট: 2 (৭তম সংখ্যা হলো ১৩, যার ২টি অঙ্ক)
অ্যালগরিদম
nইনিশিয়ালাইজ করুন।result = 1(অঙ্ক সংখ্যা),sum = 0(মোট সংখ্যা গণনা)।- লুপ চালান
i = 4থেকে, প্রতি ধাপেi *= 4। sum += iকরুন।- যদি
sum >= nহয়, ব্রেক করুন। - অন্যথায়
result++করুন (পরের সেটে ১টা বেশি অঙ্ক হবে)। resultফেরত দিন।
সি++ ইমপ্লিমেন্টেশন
#include <bits/stdc++.h>
using namespace std;
int getDigitsCount(int n) {
int result = 1, sum = 0;
for (int i = 4; ; i *= 4) {
sum += i;
if (sum >= n) break;
result++;
}
return result;
}
int main() {
int n = 57;
cout << getDigitsCount(n) << endl;
return 0;
}
আউটপুট
3