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

न्यूनतम संख्या खोजें जिससे विभाजित करने पर संख्या पूर्ण वर्ग बन जाए C++ में

मान लीजिए हमारे पास एक संख्या N है। हमें वह न्यूनतम संख्या खोजनी है जो N को विभाजित करके इसे पूर्ण वर्ग बना दे। तो यदि N = 50, तो न्यूनतम संख्या 2 है, क्योंकि 50 / 2 = 25, और 25 एक पूर्ण वर्ग है।

एक संख्या पूर्ण वर्ग होती है यदि उसके अभाज्य गुणनखंडों की घात सम हो। तो हम N के अभाज्य गुणनखंड खोजने की कोशिश करेंगे, और प्रत्येक अभाज्य गुणनखंड की घात खोजेंगे। उन सभी अभाज्य गुणनखंडों को खोजें और गुणा करें जिनकी घात विषम है।

उदाहरण

#include <iostream>
#include <cmath>
using namespace std;

int findMinimumNumberToDivide(int n) {
    int prime_factor_count = 0, min_divisor = 1;
    while (n % 2 == 0) {
        prime_factor_count++;
        n /= 2;
    }
    if (prime_factor_count % 2)
        min_divisor *= 2;
    for (int i = 3; i <= sqrt(n); i += 2) {
        prime_factor_count = 0;
        while (n % i == 0) {
            prime_factor_count++;
            n /= i;
        }
        if (prime_factor_count % 2)
            min_divisor *= i;
    }
    if (n > 2)
        min_divisor *= n;
    return min_divisor;
}

int main() {
    int n = 108;
    cout << "Minimum number to divide is: " << findMinimumNumberToDivide(n) << endl;
}

आउटपुट

Minimum number to divide is: 3

  1. - C++ में स्ट्रिंग को पालिंड्रोम बनाने के लिए न्यूनतम विलोपन

    समस्या कथन आकार n की एक स्ट्रिंग दी गई है। स्ट्रिंग को पालिंड्रोम बनाने के लिए न्यूनतम वर्णों को हटाने का कार्य है। यदि दी गई स्ट्रिंग abcda है, तो हम पहले और अंतिम को छोड़कर किन्हीं 2 वर्णों को हटा सकते हैं ताकि यह पालिंड्रोम बन जाए। यदि हम b और c हटाते हैं तो ada स्ट्रिंग पालिंड्रोम है यद

  1. - C++ में किसी संख्या के गुणनखंडों का न्यूनतम योग ढूंढना

    यहां हम देखेंगे कि किसी दी गई संख्या के गुणनखंडों का न्यूनतम योग कैसे प्राप्त करें। मान लीजिए एक संख्या 12 है। हम इसे अलग-अलग तरीकों से गुणनखंडित कर सकते हैं: 12 = 12 × 1 (12 + 1 = 13) 12 = 2 × 6 (2 + 6 = 8) 12 = 3 × 4 (3 + 4 = 7) 12 = 2 × 2 × 3 (2 + 2 + 3 = 7) न्यूनतम योग 7 है। हम

  1. - C++ में वर्गमूल निकाले बिना जांचें कि संख्या पूर्ण वर्ग है या नहीं

    मान लीजिए एक संख्या दी गई है, हमें जांचना है कि संख्या पूर्ण वर्ग है या नहीं। हम इसकी जांच के लिए वर्गमूल ऑपरेशन का उपयोग नहीं करेंगे। मान लीजिए संख्या 1024 है, यह एक पूर्ण वर्ग है, लेकिन 1000 पूर्ण वर्ग नहीं है। तर्क सरल है, हमें परिणाम प्राप्त करने के लिए इस एल्गोरिदम का पालन करना होगा।एल्गोरिदमis