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

सी ++ में दिए गए सरणी में लगातार तत्वों के जीसीडी से एक सरणी बनाएं

मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A[] है। हमें एक और सरणी B[] ढूंढनी है, जिसका आकार n+1 है, जैसे कि B[i] और B[i + 1] का GCD A[i] है। यदि कई समाधान हैं, तो उनमें से एक को प्रिंट करें जिसका सरणी योग न्यूनतम है। तो अगर ए =[1, 2, 3], तो आउटपुट [1, 2, 6, 3]

. होगा

जब A में केवल एक ही तत्व K हो, तो B =[K, K]। तो बी [0] ए [0] होगा। अब विचार करें कि हम इंडेक्स i तक कर चुके हैं, इसलिए हमने पहले ही इंडेक्स i को प्रोसेस कर लिया है, और B[i + 1] की गणना की है। अब B[i + 1] और B[i + 2] =A[i + 1] की GCD, फिर B[i + 2] और B[i + 3] =A[i + 2] की GCD है। तो B[i + 2]>=A[i + 1], A[i + 2] का LCM। चूंकि हम न्यूनतम राशि चाहते हैं, तो हम बी [i + 2] का न्यूनतम मूल्य प्राप्त करना चाहते हैं, इसलिए बी [i + 2] - ए [i + 2] और ए [i + 3]

का एलसीएम

उदाहरण

#include <iostream>
#include <algorithm>
using namespace std;
int getLCM(int a, int b) {
   return (a * b) / __gcd(a, b);
}
void gcdArray(int A[], int n) {
   cout << A[0] << " ";
   for (int i = 0; i < n - 1; i++)
   cout << getLCM(A[i], A[i + 1]) << " ";
   cout << A[n - 1];
}
int main() {
   int A[] = { 1, 2, 3 };
   int n = sizeof(A) / sizeof(A[0]);
   cout << "Constructed array: ";
   gcdArray(A, n);
}

आउटपुट

Constructed array: 1 2 6 3

  1. सी ++ में लगातार जोड़ी तत्वों के उत्पाद के योग को कम करने के लिए एक सरणी को पुनर्व्यवस्थित करें

    हमें एक सकारात्मक पूर्णांक प्रकार सरणी दी गई है, मान लें, किसी भी आकार का arr[]। कार्य एक सरणी को इस तरह से पुनर्व्यवस्थित करना है कि जब हम किसी तत्व को उसके वैकल्पिक तत्व से गुणा करते हैं और फिर सभी परिणामी तत्वों को जोड़ते हैं तो उसे न्यूनतम योग वापस करना चाहिए। आइए इसके लिए विभिन्न इनपुट आउटपुट प

  1. C++ प्रोग्राम में दिए गए ऐरे से लिंक्ड लिस्ट बनाएं

    इस ट्यूटोरियल में, हम सीखेंगे कि दिए गए ऐरे से एक लिंक्ड लिस्ट कैसे बनाएं। आइए समस्या को हल करने के लिए चरणों को देखें। डमी डेटा के साथ ऐरे को इनिशियलाइज़ करें। स्ट्रक्चर नोड लिखें। सरणी पर पुनरावृति करें। डेटा के साथ एक नया नोड बनाएं। लिंक की गई सूची में नया नोड डालें। लिंक की

  1. C++ में दिए गए इनऑर्डर ट्रैवर्सल से विशेष बाइनरी ट्री का निर्माण करें

    हमें एक सरणी arr[] दी गई है जिसमें बाइनरी ट्री का इनऑर्डर ट्रैवर्सल है। लक्ष्य उस सरणी से एक विशेष बाइनरी ट्री बनाना है। एक विशेष बाइनरी ट्री वह होता है जिसका रूट नोड का वजन उसके बाएं और दाएं दोनों बच्चों के वजन से अधिक होता है। उदाहरण के लिए इनपुट int arr[] = {10, 20, 28, 40, 32, 31, 30} आउटपुट