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

C++ में न्यूनतम गुणनखंडन

मान लीजिए कि हमारे पास एक धनात्मक पूर्णांक x है, हमें सबसे छोटा धनात्मक पूर्णांक b ज्ञात करना है, जिसके प्रत्येक अंक का गुणन x के बराबर हो। अगर हमारे पास ऐसा कोई जवाब नहीं है तो 0 वापस करें।

तो, अगर इनपुट 48 जैसा है, तो आउटपुट 68 होगा

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

  • रिट:=0, मूल:=1

  • अगर एक <2, तो:

    • वापसी एक

  • इनिशियलाइज़ i :=9 के लिए, जब i>=2, अपडेट करें (i से 1 घटाएं), करें -

    • जबकि एक मॉड मैं 0 के समान है, करें -

      • रिट :=i * mul + ret

      • मूल:=मूल * 10

      • ए:=ए / आई

  • वापसी (यदि a <2 और ret

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
typedef long long int lli;
class Solution {
public:
   int smallestFactorization(int a) {
      lli ret = 0;
      lli mul = 1;
      if (a < 2)
         return a;
      for (lli i = 9; i >= 2; i--) {
         while (a % i == 0) {
            ret = i * mul + ret;
            mul *= 10;
            a /= i;
         }
      }
      return a < 2 && ret < INT_MAX ? ret : 0;
   }
};
main(){
   Solution ob;
   cout << (ob.smallestFactorization(48));
}

इनपुट

48

आउटपुट

68

  1. सी++ में जंप गेम वी

    मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी है जिसे arr और एक पूर्णांक d कहा जाता है। एक चरण में हम इंडेक्स i से − . पर जा सकते हैं i + x जहां:i + x

  1. C++ में न्यूनतम नाइट मूव्स

    मान लीजिए कि हमारे पास एक अनंत शतरंज की बिसात है जिसमें -infinity से +infinity तक के निर्देशांक हैं, और हमारे पास वर्ग [0, 0] पर एक नाइट है। एक शूरवीर के पास 8 संभावित चालें हैं, जैसा कि नीचे दिखाया गया है। प्रत्येक चाल एक कार्डिनल दिशा में दो वर्ग है, फिर एक वर्ग एक ओर्थोगोनल दिशा में है। हमें न

  1. सी++ में न्यूनतम पथ योग

    मान लीजिए कि हमारे पास गैर-ऋणात्मक पूर्णांकों से भरा एक m x n मैट्रिक्स है, तो ऊपरी बाएं कोने से नीचे दाएं कोने तक एक पथ खोजें जो इसके पथ के साथ सभी संख्याओं के योग को कम करता है। आंदोलन किसी भी समय केवल नीचे या दाएं हो सकते हैं। तो उदाहरण के लिए, यदि मैट्रिक्स नीचे जैसा है 1 3 1 1 5 1 4 2 1 आ