इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो यह जांचता है कि दी गई संख्या k-rough है या नहीं या k-jagged संख्या या नहीं।
वह संख्या जिसका सबसे छोटा अभाज्य गुणनखंड दिए गए k से बड़ा या उसके बराबर हो, वह k-rough कहलाती है या k-jagged नंबर।
आइए समस्या को हल करने के लिए चरणों को देखें।
- संख्या प्रारंभ करें n और k ।
- उन सभी अभाज्य संख्याओं का पता लगाएं जो n . के गुणनखंड हैं और उन्हें एक वेक्टर में संग्रहित करें।
- वेक्टर से पहला तत्व प्राप्त करें और इसकी तुलना k . से करें यह जाँचने के लिए कि क्या n के-रफ है या k-jagged संख्या या नहीं।
उदाहरण
आइए कोड देखें।
#include <bits/stdc++.h> using namespace std; bool isPrime(int n) { for (int i = 2; i * i <= n; i++) { if (n % i == 0) { return false; } } return true; } vector<int> getPrimes(int n) { vector<int> primes; for (int i = 2; i < n; i++) { if (n % i == 0 && isPrime(i)) { primes.push_back(i); } } return primes; } bool isRoughNumber(int n, int k) { vector<int> primes = getPrimes(n); return primes[0] >= k; } int main() { int n = 75, k = 3; if (isRoughNumber(n, k)) { cout << n << " is a " << k << " rough number" << endl; }else { cout << n << " is not a " << k << " rough number" << endl; } return 0; }
आउटपुट
यदि आप उपरोक्त प्रोग्राम चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।
75 is a 3 rough number
निष्कर्ष
आप वेक्टर में सभी अभाज्य संख्याओं को संग्रहीत करने से बच सकते हैं। और n . का प्रथम अभाज्य गुणनखंड ज्ञात करें और इसकी तुलना k . से करें वांछित आउटपुट प्राप्त करने के लिए। उस विचार को लागू करें जो कम स्थान और समय की जटिलता के साथ उपरोक्त के समान है।
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।