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

C++-এ সংখ্যার সব ০ কে ৫ দিয়ে রিপ্লেস করা

একটি পূর্ণসংখ্যা N দেওয়া থাকলে, সেটির সব ০ ডিজিটকে ৫ দিয়ে রিপ্লেস করতে হবে। তবে লিডিং ০ (সর্বোচ্চ স্থানীয় মানवाले ০) রিপ্লেস হবে না।

ইনপুট-১

N = 1007

আউটপুট

1557

ইনপুট-২

N = 00105

আউটপুট

155

সমাধানের পদ্ধতি

রিকারসিভ পদ্ধতিতে সমাধান করা যায়। প্রতিবার শেষ ডিজিট বের করে ০ হলে ৫ বসিয়ে, বাকি অংশের জন্য রিকারসিভ কল দিন।

  • সংখ্যা N ইনপুট নিন।
  • convertToFive(int N) ফাংশন রিকারসিভলি কাজ করবে।
  • বেস কেস: N == 0 হলে 0 রিটার্ন।
  • শেষ ডিজিট = N % 10। যদি ০ হয়, ৫ করুন।
  • রিটার্ন: convertToFive(N/10)*10 + last_digit।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int convertToFive(int N) {
    if (N == 0) return 0;
    int last_digit = N % 10;
    if (last_digit == 0) last_digit = 5;
    return convertToFive(N / 10) * 10 + last_digit;
}

int main() {
    int N = 14006;
    cout << convertToFive(N) << endl;
    return 0;
}

আউটপুট

14556
  1. K ডিজিটের সর্বোচ্চ সংখ্যা যা X দিয়ে বিভাজ্য (C++)

  2. C++ প্রোগ্রাম: স্ট্রিংয়ের পারমুটেশন সংখ্যা বের করা

  3. C++-এ দেওয়া সংখ্যার ডিজিটগুলোর যোগফল বের করা

  4. পাইথন প্রোগ্রাম: সংখ্যায় থাকা সব ০ কে ৫ দিয়ে রিপ্লেস করুন (লিডিং জিরো বাদে)