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

पूर्ण वर्गों की संख्या गिनने के लिए प्रोग्राम को C++ में एक संख्या बनाने के लिए जोड़ा जाता है

मान लीजिए कि हमारे पास एक धनात्मक संख्या n है, हमें उन पूर्ण वर्ग संख्याओं की सबसे छोटी संख्या ज्ञात करनी है जिनका योग n के समान है। तो अगर संख्या 10 है, तो आउटपुट 2 है, क्योंकि संख्याएँ 10 =9 + 1 हैं।

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

  • गतिशील प्रोग्रामिंग के लिए n + 1 लंबाई की एक तालिका बनाएं, और इसे अनंत से भरें
  • dp[0] :=0
  • i :=1 के लिए, जब i*i <=n
    • x =मैं * मैं
    • जे के लिए:=x से n
      • dp[j] :=न्यूनतम dp[j] और 1 + dp[j - x]
  • रिटर्न डीपी[एन]

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

उदाहरण

#include<bits/stdc++.h>
using namespace std;
#define INF 1e9
class Solution {
public:
   int solve(int n) {
      vector < int > dp(n+1,INF);
      dp[0] = 0;
      for(int i =1;i*i<=n;i++){
         int x = i*i;
         for(int j = x;j<=n;j++){
            dp[j] = min(dp[j],1+dp[j-x]);
         }
      }
      return dp[n];
   }
};
main(){
   Solution ob;
   cout << ob.solve(10);
}

इनपुट

10

आउटपुट

2

  1. सी ++ प्रोग्राम डोडेकैगन की संख्या गिनने के लिए जिसे हम आकार डी बना सकते हैं

    मान लीजिए कि हमारे पास एक संख्या d है। विचार करें कि अनंत संख्या में वर्गाकार टाइलें हैं और भुजाओं की लंबाई के साथ नियमित त्रिकोणीय टाइलें हैं। हमें यह पता लगाना है कि इन टाइलों का उपयोग करके हम कितने तरीकों से नियमित डोडेकागन (12-पक्षीय बहुभुज) बना सकते हैं। यदि उत्तर बहुत बड़ा है, तो परिणाम मोड 99

  1. C++ में एक आयत में वर्गों की संख्या गिनें

    =B. लक्ष्य उन वर्गों की संख्या का पता लगाना है जिन्हें LXB आकार का एक आयत समायोजित कर सकता है। ऊपर दिया गया चित्र 3 X 2 आकार का एक आयत दिखाता है। इसमें 2, 2X2 वर्ग और 6,1X1 वर्ग हैं। कुल वर्ग=6+2=8. LXB आकार के प्रत्येक आयत में L*B संख्या 1X1 वर्ग होती है। सबसे बड़े वर्ग BXB आकार के होते ह

  1. C++ में लगभग पूर्ण संख्या

    लगभग पूर्ण संख्या यह भी जाना जाता है कि कम से कम कमी वाली संख्या या थोड़ा दोषपूर्ण संख्या एक संख्या है जिसमें सभी भाजक का योग (1 और संख्या को जोड़ना) के बराबर होना चाहिए 2n-1 । इस समस्या में, हम यह जांचने के लिए एक एल्गोरिथम परिभाषित करेंगे कि कोई संख्या लगभग पूर्ण संख्या है या नहीं। आइए अवधारणा क