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

C++ कोड k . से अधिक के बिना प्रतिलिपि संचालन की गणना करने के लिए

मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है और दूसरी संख्या k है। कैंडीज के ढेर हैं। Ith पाइल में A[i] कैंडीज की संख्या होती है। हम दो सूचकांकों i और j (i !=j) पर ऑपरेशन कर सकते हैं, फिर A[i] में एक और A[i] कैंडी की संख्या जोड़ सकते हैं (A[i] कम नहीं किया जाएगा)। हम इस ऑपरेशन को कितनी भी बार कर सकते हैं, लेकिन दुर्भाग्य से अगर कुछ ढेर में k कैंडीज से अधिक सख्ती है तो हम ऑपरेशन नहीं कर सकते। हमें यह पता लगाना है कि हम इस ऑपरेशन को कितनी बार कर सकते हैं।

इसलिए, यदि इनपुट ए =[1, 2, 3] जैसा है; k =5, तो आउटपुट 5 होगा, क्योंकि हम i =0 ले सकते हैं और j =1 के लिए हम तीन बार प्रदर्शन कर सकते हैं और j =2 के लिए हम दो बार प्रदर्शन कर सकते हैं। तो कुल 5 बार।

कदम

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

ans := 0
n := size of A
sort the array A
for initialize i := 1, when i < n, update (increase i by 1), do:
   ans := ans + (k - A[i])
return ans

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
int solve(vector<int> A, int k){
   int ans = 0;
   int n = A.size();
   sort(A.begin(), A.end());
   for (int i = 1; i < n; i++){
      ans += (k - A[i]) / A[0];
   }
   return ans;
}
int main(){
   vector<int> A = { 1, 2, 3 };
   int k = 5;
   cout << solve(A, k) << endl;
}

इनपुट

{ 1, 2, 3 }, 5

आउटपुट

5

  1. C++ प्रोग्राम संख्या n से 1 करने के लिए आवश्यक न्यूनतम संख्या में संचालन की गणना करने के लिए

    मान लीजिए कि हमारे पास एक संख्या n है। हम इनमें से किसी एक ऑपरेशन को कई बार मनमाने ढंग से करते हैं - n को n/2 से बदलें जब n 2 से विभाज्य हो n को 2n/3 से बदलें जब n 3 से विभाज्य हो n को 4n/5 से बदलें जब n 5 से विभाज्य हो हमें नंबर 1 बनाने के लिए आवश्यक न्यूनतम चालों की संख्या गिननी होगी।

  1. C++ . में 3 या 7 के गुणज

    एक संख्या n को देखते हुए, हमें 3 या 7 से n तक के गुणजों की संख्या ज्ञात करनी होगी। आइए एक उदाहरण देखें। इनपुट 100 आउटपुट 43 3 या 7 से 100 तक कुल 43 गुणज होते हैं। एल्गोरिदम संख्या n प्रारंभ करें। गिनती को 0 से प्रारंभ करें। एक लूप लिखें जो 3 . से पुनरावृत्त हो से n. . तक यदि वर्तमा

  1. सी++ में बाइनरी स्ट्रिंग "एबी" मुक्त बनाने के लिए संचालन की संख्या

    हमें एक स्ट्रिंग दी गई है जिसमें ab हो सकता है और कार्य स्ट्रिंग से ab को हटाने या हटाने के लिए आवश्यक संचालन की गणना करना है। तो, हमारा काम सबसे पहले यह जांचना है कि स्ट्रिंग में ab है या नहीं यदि हाँ तो हमें स्ट्रिंग को ab मुक्त बनाना होगा। इनपुट - स्ट्रिंग स्ट्र =अबाबा आउटपुट − बाइनरी स्ट्रिंग