हमें एक संख्या N दी गई है। लक्ष्य 1 से N तक की संख्याओं के युग्मों को इस प्रकार खोजना है कि जोड़ियों का गुणनफल युग्मों के योग के बराबर हो।
आइए उदाहरणों से समझते हैं।
इनपुट -एन=11
आउटपुट - संख्या के जोड़े की संख्या। उनके योग से विभाज्य उत्पाद के साथ 1 से N तक हैं - 1
स्पष्टीकरण − संख्या 3 और 6 का गुणनफल 18 है और उनका योग 9 18 को पूरी तरह से विभाजित करता है।
इनपुट -एन=30
आउटपुट - संख्या के जोड़े की संख्या। उनके योग से विभाज्य उत्पाद के साथ 1 से N तक हैं - 12
स्पष्टीकरण - जोड़े हैं - (3, 6), (4,12), (5, 20), (6, 12), (6, 30), (8, 24), (9, 18), (10, 15) ), (12, 24), (15, 30), (20, 30), (21, 28)
जोड़ियों की संख्या -12
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
हम दो बार FOR लूप का उपयोग करके 1 से N तक जाएँगे। प्रत्येक के लिए, मैं j को इस प्रकार खोजता हूं कि (i,j) का गुणनफल योग i+j से विभाज्य हो। suc i,j जोड़ियों के लिए इंक्रीमेंट काउंट ऐसा है कि i!=j.
-
इनपुट के रूप में एक नंबर N लें।
-
फ़ंक्शन Sum_N(N) N लेता है और युग्मों की गिनती इस तरह लौटाता है कि संख्याओं का गुणनफल संख्याओं के योग से विभाज्य हो।
-
i=1 से i
. तक की यात्रा करें -
j=i+1 से j<=N.
. तक के ट्रैवर्स -
प्रारंभिक गणना 0 के रूप में लें।
-
प्रत्येक i और j के लिए temp=(i*j)%(i+j) की गणना करें।
-
यदि अस्थायी 0 है तो योग उत्पाद को पूरी तरह से विभाजित करता है। वेतन वृद्धि की संख्या।
-
सभी पुनरावृत्तियों के अंत के बाद, गिनती में ऐसे युग्मों की कुल संख्या होगी।
-
परिणाम के रूप में वापसी की गिनती।
उदाहरण
#include <bits/stdc++.h> using namespace std; int Sum_N(int N){ int count = 0; for (int i = 1; i < N; i++){ for (int j = i + 1; j <= N; j++){ int temp = (j * i) % (j + i); if (!temp){ count++; } } } return count; } int main(){ int N = 20; cout<<"Count of pairs of numbers from 1 to N with Product divisible by their Sum are: "<<Sum_N(N); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of pairs of numbers from 1 to N with Product divisible by their Sum are: 6