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++ में एक स्ट्रिंग पैलिंड्रोम बनाने के लिए विलोपन की न्यूनतम संख्या।

    समस्या कथन आकार एन की एक स्ट्रिंग को देखते हुए। कार्य स्ट्रिंग पैलिंड्रोम बनाने के लिए वर्णों की न्यूनतम संख्या को हटाना है। यदि दी गई स्ट्रिंग 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 एक पूर्ण वर्ग नहीं है। तर्क सरल है, परिणाम प्राप्त करने के लिए हमें इस एल्गोरिथम का पालन