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

C++ में n! % (k^x) = 0 के लिए x का अधिकतम मान ज्ञात करें


मान लीजिए हमारे पास दो पूर्णांक n और k हैं। हमें x का अधिकतम मान ढूंढना है, जैसे कि n! mod (k^x) = 0। इसलिए जब n = 5, और k = 2, तो आउटपुट 3 होगा। जैसे n! = 120, अब x के विभिन्न मानों के लिए:

120 mod 2^0 = 0, 120 mod 2^1 = 0, 120 mod 2^2 = 0, 120 mod 2^3 = 0, 120 mod 2^4 = 8, 120 mod 2^5 = 24, 120 mod 2^6 = 56, 120 mod 2^7 = 120। चूंकि x का अधिकतम मान 3 है, परिणाम 0 है, इसलिए आउटपुट 3 है।

इसे हल करने के लिए, हमें इन चरणों का पालन करना होगा:

  • k का वर्गमूल लें, और इसे m में स्टोर करें
  • i := 2 से m तक, निम्नलिखित चरण करें:
    • जब i = m, तो i := k सेट करें
    • यदि k, i से विभाज्य है, तो k को i से विभाजित करें
    • n तक एक लूप चलाएं, और भागफल को u नामक वेरिएबल में जोड़ें
    • प्रत्येक लूप के बाद r का न्यूनतम मान स्टोर करें

उदाहरण

#include <iostream> #include <cmath> using namespace std; int calculateMaxX(int n, int k) { int result = n, v, u; int m = sqrt(k) + 1; for (int i = 2; i <= m && k > 1; i++) { if (i == m) { i = k; } for (u = v = 0; k % i == 0; v++) { k /= i; } if (v > 0) { int t = n; while (t > 0) { t /= i; u += t; } result = min(result, u / v); } } return result; } int main() { int n = 5; int k = 2; cout<<"Maximum value of x is: " << calculateMaxX(n, k); }

आउटपुट

Maximum value of x is: 3

  1. - न्यूनतम x खोजें जैसे कि (x % k) * (x / k) == n C++ में

    दिए गए दो धनात्मक पूर्णांक n और k, और हमें धनात्मक पूर्णांक x खोजना है, जैसे कि (x % k)*(x / k) n के समान हो। तो यदि n और k क्रमशः 4 और 6 हैं, तो आउटपुट 10 होगा। तो (10 % 6) * (10 / 6) = 4। हम जानते हैं कि x % k का मान [1 से k - 1] की रेंज में होगा (0 शामिल नहीं) यहां हम उस रेंज में संभावित पूर्णांक

  1. - C++ में सरणी में उन सभी जोड़े (a, b) को खोजें जैसे कि a % b = k

    मान लीजिए हमारे पास एक सरणी A है, उस सरणी से हमें सभी जोड़े (a, b) प्राप्त करने हैं जैसे कि a%b = k। मान लीजिए सरणी A = [2, 3, 4, 5, 7], और k = 3, तो जोड़े हैं (7, 4), (3, 4), (3, 5), (3, 7)। इसे हल करने के लिए, हम सूची को पार करेंगे और जांचेंगे कि दी गई शर्त पूरी हो रही है या नहीं। उदाहरण #include

  1. - C++ प्रोग्राम किसी भी बीजगणितीय अभिव्यक्ति का अधिकतम मान खोजने के लिए

    यह किसी भी बीजगणितीय अभिव्यक्ति का अधिकतम मान खोजने के लिए एक C++ प्रोग्राम है। (x1 + x2 + ... + xa) * (y1 + y2 + ... + yb) रूप का एक बीजगणितीय अभिव्यक्ति और (a + b) इंटीजर्स दिए गए हैं। a नंबर्स और शेष b नंबर्स के सभी संभावित संयोजनों पर विचार करें और उनके मानों की गणना करें, जिससे अधिकतम मान प्रा