इस समस्या में, हमें एक संख्या N दी जाती है। हमारा कार्य दी गई संख्या का ढलान ज्ञात करना है। ।
किसी संख्या का ढलान संख्या में अधिकतम और न्यूनतम अंकों की कुल संख्या है।
मैक्सिमा अंक वह अंक है जिसके दोनों पड़ोसी (पिछला और अगला) छोटे हैं।
मैक्सिमा अंक वह अंक है जिसके दोनों पड़ोसी (पिछला और अगला) बड़े हैं।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट
N = 9594459
आउटपुट
2
समाधान दृष्टिकोण
समस्या का एक सरल समाधान है, पहले और अंतिम एक को छोड़कर अंकों के आधार पर संख्या के अंक का पता लगाना (मैक्सिमा या मिनिमा की गणना न करें)। अब, प्रत्येक अंक के लिए, हम जांच करेंगे कि अंक उसके पहले और बाद के अंकों से बड़े हैं या छोटे। अंत में, हम मैक्सिमा और मिनिमा काउंट वापस कर देंगे।
उदाहरण
हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम
#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