কম্পিউটার

C++ ব্যবহার করে প্রদত্ত সংখ্যার ঢাল খুঁজুন


এই সমস্যায়, আমাদের একটি সংখ্যা দেওয়া হয়েছে। আমাদের কাজ হল প্রদত্ত সংখ্যার ঢাল খুঁজে বের করা .

একটি সংখ্যার ঢাল সংখ্যাটিতে সর্বোচ্চ এবং মিনিমাম সংখ্যার মোট সংখ্যা।

ম্যাক্সিমা ডিজিট সেই সংখ্যা যার উভয় প্রতিবেশী (আগের এবং পরবর্তী) ছোট।

ম্যাক্সিমা ডিজিট সেই অঙ্ক যার উভয় প্রতিবেশী (আগের এবং পরবর্তী) বড়৷

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট

N = 9594459

আউটপুট

2

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

সমস্যার একটি সহজ সমাধান হল প্রথম এবং শেষটি বাদ দিয়ে সংখ্যা অনুসারে সংখ্যার সংখ্যা অতিক্রম করা (The don't count form maxima or minima)। এখন, প্রতিটি অঙ্কের জন্য, আমরা পরীক্ষা করব যে সংখ্যাগুলি তার আগে এবং পরে সংখ্যাগুলির চেয়ে বড় বা ছোট। শেষ পর্যন্ত, আমরা ম্যাক্সিমা এবং মিনিমা কাউন্ট ফেরত দেব।

উদাহরণ

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম

#include <iostream>
using namespace std;
int findNumberSlope(string N, int len){
   int slope = 0;
   for (int i = 1; i < len - 1; i++) {
      if (N[i] > N[i - 1] && N[i] > N[i + 1])
         slope++;
      else if (N[i] < N[i - 1] && N[i] < N[i + 1])
         slope++;
   }
   return slope;
}
int main(){
   string N = "574473434329";
   int len = N.size();
   cout<<" The slope of the given number is "<<findNumberSlope(N, len);
   return 0;
}

আউটপুট

The slope of the given number is 7

  1. C++ ব্যবহার করে পঞ্চভুজ পিরামিডাল নম্বর খুঁজুন

  2. C++ ব্যবহার করে একটি স্ট্রিং এর সাবস্ট্রিং এর সংখ্যা খুঁজুন

  3. C++ ব্যবহার করে স্টপিং স্টেশনের সংখ্যা খুঁজুন

  4. C++ ব্যবহার করে প্রদত্ত বিন্দু থেকে সম্ভাব্য চতুর্ভুজের সংখ্যা নির্ণয় করুন