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

सी ++ में एम + योग (एम) + योग (योग (एम)) =एन को संतुष्ट करने वाली संख्याओं की संख्या

इनपुट के रूप में एक नंबर N दिया गया है। लक्ष्य N तक m तक की संख्याएँ ज्ञात करना है जो निम्नलिखित शर्त को पूरा करती हैं। यहां एन<=10 9

एम + योग (एम) + योग (योग (एम)) =एन। जहां योग (एम) एम के अंकों का योग है।

यदि m 137 है तो योग(m)=1+3+7=11 और योग(योग(m))=योग(11)=1+1=2

आइए उदाहरणों से समझते हैं।

उदाहरण के लिए

इनपुट - एन=27

आउटपुट - एम + योग (एम) + योग (योग (एम)) =एन को संतुष्ट करने वाली संख्याओं की संख्या हैं:3

स्पष्टीकरण - नंबर हैं:

9 ( 9 + 9 + 9 =27 )

15 ( 15 + (1+5) + (6) =27 )

21 ( 21 + (2+1) + (3) =27 )

इनपुट - एन=81

आउटपुट - एम + योग (एम) + योग (योग (एम)) =एन को संतुष्ट करने वाली संख्याओं की संख्या हैं:2

स्पष्टीकरण - नंबर हैं:

63 ( 63 + (6+3) + 9 =81 )

66 ( 66 + (6+6) + (1+2) =81 )

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

इस दृष्टिकोण में हम संख्याओं के अंकों के योग की गणना करेंगे और जोड़े गए योगों की तुलना N से करेंगे। यदि परिकलित योग N के बराबर है, तो वृद्धि की गणना। अंत में परिणाम के रूप में वापसी की गणना करें।

चूंकि सबसे बड़ी संख्या 10 9 . हो सकती है तो m के अंकों का अधिकतम योग 81 (9*9) हो सकता है और योग (योग(m)) के लिए अंकों का अगला अधिकतम योग 16 (79 के लिए 7+9) हो सकता है। इसलिए हम N-97 से N तक की संख्याओं की जाँच करेंगे क्योंकि N-97 से छोटे और N से बड़े पूर्णांक दी गई शर्त को पूरा नहीं करेंगे।

  • इनपुट के रूप में पूर्णांक N लें।
  • फ़ंक्शन टोटल(int num) कुल संख्या लेता है और उसके अंकों का योग देता है।
  • res_total को अंकों के योग के रूप में लें और res को वर्तमान शेष के रूप में लें। दोनों को 0 से प्रारंभ करें।
  • थोड़ी देर के लूप का उपयोग करके प्रत्येक इकाई अंक को पार करें।
  • इकाई अंक को res=num% 10 के रूप में लें और res_total में जोड़ें।
  • अगले अंक के लिए संख्या को 10 से कम करें।
  • अंत में अंकों के योग के रूप में res_total लौटाएं।
  • फ़ंक्शन कंडीशन (इंट एन) एन लेता है और एम + योग (एम) + योग (योग (एम)) को संतुष्ट करने वाली संख्याओं की गिनती देता है।
  • प्रारंभिक गणना 0 के रूप में लें।
  • फॉर लूप का उपयोग करके i=N-97 से i<=N तक ट्रैवर्स करें।
  • अंकों के योग की गणना temp_1=total(i) के रूप में करें।
  • कुल (i) के अंकों के योग की गणना कुल (temp_1) के रूप में करें।
  • temp_3 =i + temp_1 + temp_2 सेट करें। यदि यह N के बराबर है तो वेतन वृद्धि की गणना करें।
  • लूप के अंत में परिणाम के रूप में वापसी की गणना करें।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int total(int num) {
   int res_total = 0;
   int res = 0;
   while (num > 0) {
      res = num % 10;
      res_total = res_total + res;
      num = num / 10;
   }
   return res_total;
}
int condition(int N) {
   int count = 0;
   for (int i = N - 97; i <= N; i++) {
      int temp_1 = total(i);
      int temp_2 = total(temp_1);
      int temp_3 = i + temp_1 + temp_2;
      if (temp_3 == N) {
         count++;
      }
   }
   return count;
}
int main() {
   int N = 9999;
   cout << "Count of numbers satisfying m + sum(m) + sum(sum(m)) = N are: " << condition(N);
   return 0;
}

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

आउटपुट

Count of numbers satisfying m + sum(m) + sum(sum(m)) = N are: 2

  1. C++ में फाइबोनैचि संख्याओं के वर्गों का योग

    F0=0, F1=1 और Fn=Fn-1+Fn-2, F2=F0+F1 F2=0+1 F2=1 फिर जब हम नंबर 1 और 1 जोड़ते हैं तो अगला नंबर 2 होगा F1=1, F2=1 और Fn=Fn-1+Fn-2, F3=F1+F2 F3=1+1 F3=2 फाइबोनैचि अनुक्रम 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, … है हमें ईंधन ऊर्जा श्रृंखला का वर्ग ज्ञात करना है और फिर हमें उसका योग करना है और परिणाम खो

  1. प्राकृतिक संख्याओं के योग की गणना करने के लिए C++ प्रोग्राम

    प्राकृत संख्याएं 1 से शुरू होने वाली धनात्मक पूर्णांक होती हैं। प्राकृत संख्याओं का क्रम है - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10…… पहले n प्राकृतिक संख्याओं के योग की गणना लूप या सूत्र का उपयोग करके की जा सकती है। इन दोनों विधियों को निर्दिष्ट करने वाले प्रोग्राम इस प्रकार दिए गए हैं - ल

  1. दो नंबर जोड़ने के लिए C++ प्रोग्राम

    जोड़ एक बुनियादी अंकगणितीय ऑपरेशन है। दो संख्याओं को जोड़ने का कार्यक्रम दो संख्याओं का योग करता है और उनके योग को स्क्रीन पर प्रिंट करता है। एक प्रोग्राम जो दो संख्याओं के योग को प्रदर्शित करता है, वह इस प्रकार दिया गया है - उदाहरण #include <iostream> using namespace std; int main() {