কম্পিউটার টিউটোরিয়াল

C++-এ n-ডিজিট স্টেপিং নম্বরের সংখ্যা বের করা


স্টেপিং নম্বর হচ্ছে যেসব সংখ্যার দুটি সन्नিহিত ডিজিটের পার্থক্য ১। n ডিজিটের স্টেপিং নম্বর কতগুলো আছে, তা বের করতে হবে।

উদাহরণ: n=2 হলে আউটপুট ১৭। ১০ থেকে ৯৯ পর্যন্ত ১৭টি স্টেপিং নম্বর আছে।

অ্যালগরিদম

  • n আরম্ভ করুন, count = ০
  • lowest = 10^(n-1), highest = 10^n - 1
  • lowest থেকে highest পর্যন্ত লুপ: isSteppingNumber(i) চেক করুন
  • isSteppingNumber: ডিজিট বাই ডিজিট চেক করুন, পার্থক্য ১ নয়লে false
  • সঠিক হলে count++

ইমপ্লিমেন্টেশন

#include <bits/stdc++.h> using namespace std; bool isSteppingNumber(int n) {    int previousDigit = -1;    while (n) {       int currentDigit = n % 10;       if (previousDigit != -1 && abs(previousDigit - currentDigit) != 1) return false;       previousDigit = currentDigit;       n /= 10;    }    return true; } int getSteppingNumbersCount(int n) {    int lowestNumber = pow(10, n - 1), highestNumber = pow(10, n) - 1;    int count = 0;    for (int i = lowestNumber; i <= highestNumber; i++) {       if (isSteppingNumber(i)) count += 1;    }    return count; } int main() {    int n = 3;    cout << getSteppingNumbersCount(n) << endl;    return 0; }

আউটপুট

32

  1. C++ প্রোগ্রাম: n কে বাইনারি ডেসিমাল যোগফলে বিয়োগের ন্যূনতম সংখ্যা

  2. Frugal সংখ্যা চেক করা (C++)

  3. C++ দিয়ে পেন্টাটপ (Pentatope) সংখ্যা বের করা

  4. সি++-এ ডাডেনি নম্বর