নাম্বার অফ ডিজিট ワン সমস্যা
১ থেকে n পর্যন্ত সব পূর্ণসংখ্যার দশমিক প্রতিনিধিত্বে কতবার ডিজিট 1 আসেছে তা গণনা করতে হবে।
উদাহরণ: n=15 → সংখ্যাগুলো: ১, ১০, ১১, ১২, ১৩, ১৪, ১৫ → মোট ৮টি '১'
সমাধানের পদ্ধতি (গাণিতিক / ডিজিট DP স্টাইল)
প্রতিটি ডিজিট পজিশন (ইকাই, দশক, শতক...) আলাদা আলাদা বিশ্লেষণ করুন।
i = 1, 10, 100, ...(প্রতিটি ডিজিট পজিশন)a = n / i(উচ্চতর ডিজিট),b = n % i(নিম্নতর ডিজিট),x = a % 10(বর্তমান ডিজিট)- যদি
x == 0: এই পজিশনে '১' আসবে(a/10) * iবার - যদি
x == 1: এই পজিশনে '১' আসবে(a/10) * i + (b+1)বার - যদি
1: এই পজিশনে '১' আসবে(a/10 + 1) * iবার
C++ কোড উদাহরণ
15
আউটপুট
8