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

C++ . में 2 से N/2 तक सभी आधारों में लिखी गई संख्या N के अंकों का योग


इस समस्या में, हमें एक संख्या N दी जाती है। हमारा कार्य 2 से N/2 तक के आधारों में संख्या N के अंकों का योग ज्ञात करने के लिए एक प्रोग्राम बनाना है।

तो, हमें संख्या के आधार को 2 से N/2 में सभी आधारों में बदलना होगा यानी n =9 के लिए, आधार 2, 3, 4 होंगे। और इन आधारों में सभी अंकों का योग ज्ञात कीजिए।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

N = 5

आउटपुट

2

स्पष्टीकरण

base from 2 to N/2 is 2.
52 = 101, sum of digits is 2.

इस समस्या को हल करने के लिए, हम 2 से N/2 तक की प्रत्येक संख्या को आधार के रूप में लेते हैं। और फिर अंकों के योग की गणना करने के लिए, हम बार-बार N को आधार यानी N =N/आधार से विभाजित करेंगे, और शेष मान को योग में जोड़ देंगे। और फिर परिणाम प्राप्त करने के लिए प्रत्येक आधार के लिए पाए गए योग मानों को जोड़ें।

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम -

#include <iostream>
using namespace std;
int findBaseSum(int n, int base, int &sum){
   while (n > 0) {
      sum += n % base;
      n /= base;
   }
return sum;
}
void CalcSumOfBaseDigits(int n, int &sum){
   for (int base = 2; base <= n / 2; base++)
      findBaseSum(n, base, sum);
}
int main(){
   int N = 11;
   int sum = 0;
   CalcSumOfBaseDigits(N, sum);
   cout<<"The sum of digits of "<<N<<" written in all bases from 2 to "<<(N/2)<<" is "<<sum;
   return 0;
}

आउटपुट

The sum of digits of 11 written in all bases from 2 to 5 is 14

  1. जाँच करें कि क्या दी गई संख्या C++ में अपने अंकों के भाज्य के योग को विभाजित करती है

    मान लीजिए, हमारे पास एक पूर्णांक है, हमें यह पता लगाना है कि क्या संख्या अपने अंकों के भाज्य के योग को विभाजित करती है। मान लीजिए एक संख्या 19 है, अंकों के भाज्य का योग है (1! + 9!) =362881, यह 19 से विभाज्य है। इसे हल करने के लिए, हम संख्या लेंगे, फिर प्रत्येक अंक के फैक्टोरियल की गणना करेंगे और य

  1. श्रृंखला 1/1 का योग खोजने के लिए सी ++ प्रोग्राम! + 2/2! + 3/3! + 4/4! + …… एन / एन!

    यहां हम देखेंगे कि हम दी गई श्रृंखला का योग कैसे प्राप्त कर सकते हैं। n का मान उपयोगकर्ता द्वारा दिया जाएगा। हम एक फैक्टोरियल फ़ंक्शन बनाकर इस समस्या को हल कर सकते हैं, और लूप में प्रत्येक चरण में फैक्टोरियल प्राप्त कर सकते हैं। लेकिन फैक्टोरियल कैलकुलेशन सामान्य जोड़ की तुलना में महंगा काम है। हम अ

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

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