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

दिए गए वज़न का उपयोग करके बैलेंस पैन जो C++ प्रोग्राम में किसी संख्या की शक्तियाँ हैं

कथन − दिए गए वज़न का उपयोग करके बैलेंस पैन जो किसी संख्या की घात है।

DESCRIPTION - इस समस्या में हमें एक पैन आधारित तौल मशीन दी जाती है। हमें एक भार T और कुछ अन्य भार दिए गए हैं जिनका मान एक संख्या a. . की घात है हमें दिए गए वज़न का उपयोग करके पैन को संतुलित करने की आवश्यकता है।

अब, इसके आधार पर हमारे पास यह समीकरण है,

T + (a की कुछ शक्ति) =(a की कुछ अन्य शक्ति)

अब, हमें यह याद रखना चाहिए कि शक्ति मान के अनुरूप ठीक एक भार होता है।

उदाहरण,

T = 12 : a = 4

नीचे दिए गए मानों का उपयोग करके, हम वज़न को इस प्रकार संतुलित कर सकते हैं,

12 + 4 = 16

अब, हम इस समस्या को हल करते हैं, हमें T को a के घात में निरूपित करने की आवश्यकता है। इसके लिए हम T के आधार को आधार 10 से a में बदल देंगे

केस 1 - आधार बदलने पर, यदि प्रतिनिधित्व के मूल्य में केवल 1 और 0 हैं। फिर 1 के भार का उपयोग योगात्मक रूप से T का मान बनाने के लिए किया जा सकता है।

आइए एक उदाहरण लेते हैं,

T = 10 : a = 3,

10 से 3 का आधार बदलने पर मान 101 हो जाता है।

तो 3 0 . का उपयोग करके वसीयत बनाई जाएगी और 3 2 (1 + 9) =10.

केस 2 - आधार बदलने पर, यदि प्रतिनिधित्व में केवल 1 और 0 के अलावा अन्य मान थे, तो संतुलन को करने के लिए कुछ और संचालन की आवश्यकता होती है। यहां, समाधान के लिए अनिवार्य शर्त यह है कि आधार रूपांतरण का अंकीय मान (a-1) होना चाहिए। इस मामले में, हम मूल्य की शक्ति को टी के डीड में स्थानांतरित कर देंगे। और आधार प्रतिनिधित्व में संख्या को 1 से बढ़ाएँ।

आइए एक उदाहरण लेते हैं,

T = 7 : a = 3

7 से 3 का आधार बदलने पर हमें 021 मिलेगा।

3 1 . को स्थानांतरित किया जा रहा है T की ओर और दूसरी भुजा को 1 से बढ़ाते हुए। हमें संख्या =10 प्राप्त होती है जिसे 101 अर्थात (9 + 1) के रूप में दर्शाया जाता है। जिसे संतुलित किया जा सकता है।

उपरोक्त मामलों के आधार पर हम इस समस्या को हल करने के लिए एक कार्यक्रम तैयार करेंगे।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
bool isBalancePossible(int T, int a){
   vector<int> baseForm;
   while (T) {
      baseForm.push_back(T % a);
      T /= a;
   }
   baseForm.push_back(0);
   for (int i = 0; i < baseForm.size(); i++) {
      if (baseForm[i] != 0 && baseForm[i] != 1 &&
      baseForm[i] != (a - 1) && baseForm[i] != a)
      return false;
   if (baseForm[i] == a || baseForm[i] == (a - 1))
      baseForm[i + 1] += 1;
   }
   return true;
}
int main(){
   int T = 21;
   int a = 4;
   if (isBalancePossible(T, a))
      cout << "Balance is possible" << endl;
   else
      cout << "Balance is not possible" << endl;
   return 0;
}

आउटपुट

Balance is possible

  1. सी ++ प्रोग्राम किसी दिए गए नंबर के अंकों का योग करने के लिए

    C++ भाषा में अंकों के योग की गणना करने के लिए यहां एक उदाहरण दिया गया है, उदाहरण #include<iostream> using namespace std; int main() {    int x, s = 0;    cout << "Enter the number : ";    cin >> x;    while (x != 0) {    

  1. सी ++ प्रोग्राम रिकर्सन का उपयोग करके किसी संख्या के फैक्टोरियल को खोजने के लिए

    एक गैर-ऋणात्मक पूर्णांक n का गुणनखंड उन सभी धनात्मक पूर्णांकों का गुणनफल होता है जो n से कम या उसके बराबर होते हैं। उदाहरण के लिए:4 का भाज्य 24 है। 4! = 4 * 3 * 2 *1 4! = 24 एक पूर्णांक का भाज्य एक पुनरावर्ती कार्यक्रम या एक पुनरावृत्त कार्यक्रम का उपयोग करके पाया जा सकता है। निम्न प्रोग्राम किसी

  1. C++ प्रोग्राम पुनरावृत्ति का उपयोग करके किसी संख्या का भाज्य ज्ञात करने के लिए

    एक गैर-ऋणात्मक पूर्णांक n का गुणनखंड उन सभी धनात्मक पूर्णांकों का गुणनफल होता है जो n से कम या उसके बराबर होते हैं। उदाहरण के लिए:6 का भाज्य 720 है। 6! = 6 * 5 * 4 * 3 * 2 *1 6! = 720 एक पूर्णांक का भाज्य एक पुनरावर्ती कार्यक्रम या एक पुनरावृत्त कार्यक्रम का उपयोग करके पाया जा सकता है। लूप के लिए