इस समस्या में, हमें एक संख्या N दी जाती है। हमारा कार्य पहली N प्राकृतिक संख्याओं का योग ज्ञात करना है जो 2 और 7 से विभाज्य हैं।
तो, यहाँ हमें एक संख्या N दी जाएगी, प्रोग्राम 1 से N के बीच की संख्याओं का योग ज्ञात करेगा जो 2 और 7 से विभाज्य है।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट -
N = 10
आउटपुट -
37
स्पष्टीकरण -
sum = 2 + 4 + 6 + 7 + 8 + 10 = 37
इसलिए, समस्या को हल करने का मूल विचार उन सभी संख्याओं को खोजना है जो 2 या 7 से विभाज्य हैं। यह योग होगा -
Sum of numbers divisible by 2 + sum of numbers divisible by 7 - sum of number divisible by 14.
इन सभी राशियों को एपी फ़ार्मुलों का उपयोग करके उत्पन्न किया जा सकता है,
S2 = [( (N/2)/2) * ( (2*2)+((N/2-1)*2) )] S7 = [( (N/7)/2) * ( (2*7)+((N/7-1)*7) )] S14 = [( (N/14)/2) * ( (2*14)+((N/2-1)*14) )]
अंतिम राशि,
Sum = S2 + S7 - S14 Sum = [( (N/2)/2) * ( (2*2)+((N/2-1)*2) )] + [( (N/7)/2) * ( (2*7)+((N/7-1)*7) )] - [( (N/14)/2) * ( (2*14)+((N/2-1)*14) )]
उदाहरण
समाधान का वर्णन करने के लिए कार्यक्रम,
#include <iostream> using namespace std; int findSum(int N) { return ( ((N/2)*(2*2+(N/2-1)*2)/2) + ((N/7)*(2*7+(N/7-1)*7)/2) - ((N/14)*(2*14+(N/14-1)*14)/2) ); } int main(){ int N = 42; cout<<"The sum of natural numbers which are divisible by 2 and 7 is "<<findSum(N); return 0; }
आउटपुट
The sum of natural numbers which are divisible by 2 and 7 is 525