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

सी ++ में एक सरणी में सभी समग्र संख्याओं का उत्पाद

n पूर्णांकों की एक सरणी गिरफ्तारी [n] को देखते हुए, कार्य एक सरणी में सभी मिश्रित संख्याओं का गुणनफल खोजना है।

मिश्रित संख्याएँ वे पूर्ण संख्याएँ होती हैं जो 2 अन्य पूर्ण संख्याओं को गुणा करके बनाई जाती हैं। उदाहरण के लिए 6 एक भाज्य संख्या है जिसे 2 और 3 को गुणा करके बनाया जा सकता है जो पूर्ण संख्याएँ हैं। साथ ही हम कह सकते हैं कि वे प्राइम नहीं हैं।

इनपुट

arr[] = {1, 2, 4, 5, 6, 7}

आउटपुट

24

स्पष्टीकरण - सरणी में मिश्रित संख्याएं 4 और 6 हैं और उनका गुणनफल 24 है।

इनपुट

arr[] = {10, 2, 4, 5, 6, 11}

आउटपुट

240

स्पष्टीकरण - सरणी में मिश्रित संख्याएं 10, 4, 6 हैं और उनका गुणनफल 240 है।

समस्या को हल करने के लिए नीचे उपयोग किया गया दृष्टिकोण इस प्रकार है

  • किसी सरणी के प्रत्येक तत्व को पुनरावृत्त करें।

  • गैर-अभाज्य या भाज्य संख्याओं को खोजें, अर्थात 1. को छोड़कर किसी अन्य संख्या से विभाज्य।

  • सभी मिश्रित संख्याओं को गुणा करें।

  • परिणाम लौटाएं।

एल्गोरिदम

Start
Step 1→ Declare function to find the product of consecutive numbers in array
   int product_arr(int arr[], int size)
      declare int max = *max_element(arr, arr + size)
      set vector<bool> prime(max + 1, true)
      set prime[0] = true
      set prime[1] = true
      Loop For int i = 2 and i * i <= max and i++
         IF (prime[i] == true)
            Loop For int j = i * 2 and j <= max and j += i
               Set prime[j] = false
            End
         End
      End
      Set int product = 1
      Loop For int i = 0 and i < size and i++
         IF (!prime[arr[i]])
            Set product *= arr[i]
         End
      End
      return product
Stop

उदाहरण

#include <bits/stdc++.h>
using namespace std;
//function to find product of consecutive numbers in an array
int product_arr(int arr[], int size){
   int max = *max_element(arr, arr + size);
   vector<bool> prime(max + 1, true);
   prime[0] = true;
   prime[1] = true;
   for (int i = 2; i * i <= max; i++){
      if (prime[i] == true){
         for (int j = i * 2; j <= max; j += i)
            prime[j] = false;
      }
   }
   int product = 1;
   for (int i = 0; i < size; i++)
      if (!prime[arr[i]]){
         product *= arr[i];
      }
      return product;
}
int main(){
   int arr[] = { 2, 4, 6, 8, 10};
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"product of consecutive numbers in an array: "<<product_arr(arr, size);
   return 0;
}

आउटपुट

यदि उपरोक्त कोड चलाया जाता है तो यह निम्न आउटपुट उत्पन्न करेगा -

product of consecutive numbers in an array: 1920

  1. C++ में किसी सरणी में k सबसे मजबूत मान

    arr[j]। इसलिए हमें सरणी में सबसे मजबूत k मानों की एक सूची ढूंढनी होगी। 1. इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - सरणी को क्रमबद्ध करें n :=गिरफ्तारी का आकार मी :=एआर [(एन -1)/2] जोड़े की एक सरणी v परिभाषित करें मैं :=0, जे :=n - 1 एक सरणी रिट परिभाषित करें जबकि k गै

  1. एक श्रेणी में संख्याओं की गणना करें जो सी ++ में सभी सरणी तत्वों द्वारा विभाज्य हैं

    संख्याओं की श्रेणी को परिभाषित करने के लिए हमें दो नंबर START और END दिए गए हैं। और सकारात्मक संख्याओं की एक सरणी Arr[] भी। लक्ष्य उन सभी संख्याओं को खोजना है जो Arr[] के सभी तत्वों से विभाज्य हैं और [START,END] की सीमा में हैं। विधि 1 (निष्पक्ष दृष्टिकोण) हम इसे START से END तक की संख्याओं को पार

  1. C++ में किसी सरणी में सभी अभाज्य संख्याओं का गुणनफल

    कुछ तत्वों के साथ एक पूर्णांक सरणी arr[] को देखते हुए, कार्य उस संख्याओं की सभी अभाज्य संख्याओं का गुणनफल खोजना है। अभाज्य संख्याएँ वे संख्याएँ होती हैं जिन्हें या तो 1 से या स्वयं संख्या से विभाजित किया जाता है, या एक अभाज्य संख्या एक ऐसी संख्या होती है जो 1 और स्वयं संख्या को छोड़कर किसी अन्य संख