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

C++ में ऐरे में सभी सम्मिश्र संख्याओं का गुणनफल


n संख्या के इंटीजर्स के साथ एक ऐरे arr[n] दिया गया है, कार्य ऐरे में सभी सम्मिश्र संख्याओं का गुणनफल निकालना है।

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

इनपुट

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→ ऐरे में सम्मिश्र संख्याओं के गुणनफल को खोजने के लिए फंक्शन घोषित करें
    int product_arr(int arr[], int size)
        int max = *max_element(arr, arr + size) घोषित करें
        vector prime(max + 1, true) सेट करें
        prime[0] = true सेट करें
        prime[1] = true सेट करें
        Loop for int i = 2 to i*i <= max, i++
            IF (prime[i] == true)
                Loop for int j = i*2 to j <= max, j += i
                    prime[j] = false सेट करें
        int product = 1 सेट करें
        Loop for int i = 0 to i < size, i++
            IF (!prime[arr[i]])
                product *= arr[i] सेट करें
        return product
Stop

उदाहरण

#include <bits/stdc++.h>
using namespace std;

// ऐरे में सम्मिश्र संख्याओं के गुणनफल को खोजने का फंक्शन
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 composite numbers in array: " << product_arr(arr, size);
    return 0;
}

आउटपुट

Product of composite numbers in array: 1920

  1. - C++ में ऐरे में k सबसे मजबूत मान

    arr[j]। तो हमें ऐरे में सबसे मजबूत k मानों की सूची ढूंढनी है। 1।इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे:ऐरे arr को सॉर्ट करेंn := arr का आकारm := arr[(n - 1)/2]पेयर्स का एक ऐरे v परिभाषित करेंi := 0, j := n - 1एक ऐरे ret परिभाषित करेंजब k नॉन-जीरो है, प्रत्येक इटरेशन में k घटाते हुए, करें

  1. - रेंज में उन संख्याओं की गणना करें जो सभी सरणी तत्वों से विभाज्य हों C++ में

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

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

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