Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में दी गई लंबाई की संयुक्त संख्याओं की रेंज ज्ञात करें


मान लीजिए हमारे पास एक संख्या n है। हमें सकारात्मक पूर्णांकों की रेंज ढूंढनी है, जहां रेंज में सभी संख्याएं संयुक्त (composite) हों, और रेंज की लंबाई n हो। यदि एक से अधिक रेंज हैं, तो कोई भी एक रेंज प्रिंट करें। संयुक्त संख्या वह संख्या है जिसमें 1 और स्वयं के अलावा कम से कम एक भाजक होता है।

चूंकि रेंज की लंबाई n है, तो यदि पहली संख्या a है, तो अन्य संख्याएं a + 1, a + 2, ..., a + n - 1 होंगी, सभी संयुक्त होनी चाहिए। यदि हम देखें कि x!, जहां x धनात्मक पूर्णांक है, तो x के गुणनखंड 2, 3, 4, ..., p - 1 हैं। इसलिए p! + i का गुणनखंड i है, इसलिए p! + i संयुक्त होना चाहिए। p! + 2, p! + 3, ... p! + p - 1, सभी संयुक्त हैं। इसलिए रेंज [p! + 2, p! + p - 1] होगी।

उदाहरण

#include<iostream> using namespace std; int fact (int n) { if (n == 0) return 1; return n * fact(n-1); } void showRange(int n) { int a = fact(n + 2) + 2; int b = a + n - 1; cout << "[" << a << ", " << b << "]"; } int main() { int n = 3 ; showRange(n); }

आउटपुट

[122, 124]

  1. - C++ प्रोग्राम: दी गई शर्त को संतुष्ट करने वाली संख्या a और b ज्ञात करना

    मान लें हमारे पास एक पूर्णांक n है। हमारा कार्य दो संख्या a और b ज्ञात करना है, जहां ये तीन शर्तें पूरी होंगी: a mod b = 0 n a / b < n यदि कोई जोड़ी नहीं मिलती है, तो -1 प्रिंट करें। उदाहरण के लिए, यदि संख्या n = 10 है, तो a और b हो सकते हैं a = 90, b = 10। यह दिए गए नियमों को संतुष्ट करता है।

  1. - C++ प्रोग्राम: दिए गए प्रतिबंधों के तहत डुप्लिकेट ज्ञात करना

    मान लें हमारे पास 6 अलग-अलग संख्याओं की एक सूची है। केवल एक संख्या पांच बार दोहराई जाती है। इसलिए सरणी में कुल 10 तत्व हैं। केवल दो तुलनाओं का उपयोग करके डुप्लिकेट संख्या ज्ञात करें। यदि सूची [1, 2, 3, 4, 4, 4, 4, 4, 5, 6] की तरह है, तो आउटपुट 4 है। चूंकि केवल 10 संख्याएं हैं, तो किसी भी प्रकार की

  1. - C++ में दी गई रेंज में विशिष्ट जोड़ी (x, y) ढूंढें जहां x, y को विभाजित करता है

    समस्या विवरण एक रेंज [l, r] दी गई है, हमें एक जोड़ी (x, y) ढूंढनी है जहां l ≤ x, y ≤ r और x, y को विभाजित करता है। यदि कई जोड़ियां हैं तो कोई भी एक वापस करें। हल दृष्टिकोण यह समस्या O(1) समय में हल हो सकती है। सबसे छोटा अनुपात y/x = 2 होता है। इसलिए x = l और y = 2l लेने से हमेशा एक वैध जोड़ी मिलती